diff --git a/lib/travis/api/v3/extensions/belongs_to.rb b/lib/travis/api/v3/extensions/belongs_to.rb index 28aaa918..74bae01f 100644 --- a/lib/travis/api/v3/extensions/belongs_to.rb +++ b/lib/travis/api/v3/extensions/belongs_to.rb @@ -27,6 +27,11 @@ module Travis::API::V3 polymorfic_foreign_types << (options[:foreign_type] || "#{field}_type") if options[:polymorphic] super end + + def name + return super unless caller_locations.first.base_label == 'add_constraints'.freeze + @constraint_name ||= super.sub("#{parent}::", ''.freeze) + end end def self.included(base) diff --git a/spec/v3/extensions/belongs_to_spec.rb b/spec/v3/extensions/belongs_to_spec.rb index dd031ab5..b7a28042 100644 --- a/spec/v3/extensions/belongs_to_spec.rb +++ b/spec/v3/extensions/belongs_to_spec.rb @@ -13,5 +13,6 @@ describe Travis::API::V3::Extensions::BelongsTo do example { expect(repo.owner).to be_a(Travis::API::V3::Models::User) } example { expect(::Repository.find(repo.id).owner).to be_a(::User) } + example { expect(user.repositories).to include(repo) } end end \ No newline at end of file