twilio-ruby
twilio-ruby copied to clipboard
Class `Autopilot` has multiple different ancestors
Issue Summary
Depending on how you require the gem (or parts of it) you can cause an error as some classes have different ancestor chains.
Steps to Reproduce
- Use gem
5.56.0
(for example) -
require "twilio-ruby" require "twilio-ruby/rest/autopilot"
- See error:
twilio-ruby-5.56.0/lib/twilio-ruby/rest/autopilot/v1/assistant.rb:13:in `<module:REST>': superclass mismatch for class Autopilot (TypeError)
Technical details:
- twilio-ruby version:
5.56.0
- ruby version: Any
Cause
This line declares Autopilot with no ancestors: https://github.com/twilio/twilio-ruby/blob/7e218c44288b8a0954e141dfc5c8e99b5f63ffa6/lib/twilio-ruby/rest/autopilot/v1.rb#L11
This line declares Autopilot with ancestor Domain
: https://github.com/twilio/twilio-ruby/blob/7e218c44288b8a0954e141dfc5c8e99b5f63ffa6/lib/twilio-ruby/rest/autopilot.rb#L11
Is this a bug in the code generator?
Possibly related: https://github.com/twilio/twilio-ruby/pull/558
Confirmed 5.55.0
works fine.
Thank you for reporting this @hlascelles!
I was able to reproduce this issue locally.
This issue has been added to our internal backlog to be prioritized. Pull requests and +1s on the issue summary will help it move up the backlog.
With best regards,
Elmer
I can see that lib/twilio-ruby/rest/autopilot/v1.rb
file is the only one that seems to miss the inheritance from Domain
class.
lib/twilio-ruby/rest/autopilot.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1.rb: class Autopilot
lib/twilio-ruby/rest/autopilot/v1/assistant.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb: class Autopilot < Domain
lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb: class Autopilot < Domain
I created a PR #573 to add the inheritance there as well.
This is issue is fixed now.