polymorphic_integer_type 2.2.1 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: a0ad89af7c6b5e5602d7a55d61d3ba112b5db2afbeb5e43226972eaaff50761b
4
- data.tar.gz: 5838309b72defdf55b950c155c3d5d87ebe7a663aaad9dc5e8453bb246dd28f7
2
+ SHA1:
3
+ metadata.gz: 167cd58ce2ec474eea9268af532e07815e3c1a0c
4
+ data.tar.gz: a523c263e4822806d3ce02543417658f4904c0a0
5
5
  SHA512:
6
- metadata.gz: 07a499153097713ec3f90b5a42b796205ea773a04a1b77aedc4e9d8e1f0ac8f2d84238a2a6350e3cce7fba1b8f5fcf59e3b28642e39a0f55c532cf5d94f22a18
7
- data.tar.gz: bf81c398c18cdc8d2f7edaf81f8a669237b4aff73152c0bd180bb264bd4b5216bc6cc358a7fdd48aa8631cc1f31758ba9ddacf23e49e16c1b1cf2a1553199c62
6
+ metadata.gz: e1913d6fea43ec6707438afbec0c60c8525e015e75062f8115afb7d4176143bb4efe8d79364dfd465d6551c8bb131815933fca85aa1df98813e62541ca8cca4d
7
+ data.tar.gz: d4adcee63eeb967d4e4ecb17a53ec72cae5d23937c52a8e3030f4d27da9cf771b6a136583e9e0c2bf5a75ff31ab94895b2bcb2a7232ae140714a35961292242d
@@ -31,7 +31,10 @@ module PolymorphicIntegerType
31
31
 
32
32
  define_method "#{foreign_type}=" do |klass|
33
33
  enum = mapping.key(klass.to_s)
34
- enum ||= mapping.key(klass.base_class.to_s) if klass.kind_of?(Class) && klass <= ActiveRecord::Base
34
+ if klass.kind_of?(Class) && klass <= ActiveRecord::Base
35
+ enum ||= mapping.key(klass.base_class.to_s)
36
+ enum ||= mapping.key(klass.base_class.sti_name)
37
+ end
35
38
  enum ||= klass if klass != NilClass
36
39
  super(enum)
37
40
  end
@@ -1,3 +1,3 @@
1
1
  module PolymorphicIntegerType
2
- VERSION = "2.2.1"
2
+ VERSION = "2.2.2"
3
3
  end
@@ -24,6 +24,13 @@ describe PolymorphicIntegerType do
24
24
  end
25
25
  end
26
26
 
27
+ context "when the source is a class that modifies the sti_name" do
28
+ it "properly sets the source_type to the modified class name" do
29
+ link = Link.new(source: Namespaced::Animal.new)
30
+ expect(link.source_type).to eql "Animal"
31
+ end
32
+ end
33
+
27
34
  context "when querying the associations" do
28
35
  let(:source) { cat }
29
36
  let(:target) { nil }
@@ -4,6 +4,7 @@ require 'polymorphic_integer_type'
4
4
  require 'support/configuration'
5
5
  require 'support/link'
6
6
  require 'support/animal'
7
+ require 'support/namespaced_animal'
7
8
  require 'support/dog'
8
9
  require 'support/person'
9
10
  require 'support/food'
@@ -3,4 +3,5 @@ class Animal < ActiveRecord::Base
3
3
 
4
4
  belongs_to :owner, class_name: "Person"
5
5
  has_many :source_links, as: :source, integer_type: true, class_name: "Link"
6
- end
6
+
7
+ end
@@ -0,0 +1,7 @@
1
+ module Namespaced
2
+ class Animal < ActiveRecord::Base
3
+
4
+ self.store_full_sti_class = false
5
+ self.table_name = "animals"
6
+ end
7
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polymorphic_integer_type
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle d'Oliveira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-16 00:00:00.000000000 Z
11
+ date: 2019-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -129,6 +129,7 @@ files:
129
129
  - spec/support/migrations/3_create_person_table.rb
130
130
  - spec/support/migrations/4_create_food_table.rb
131
131
  - spec/support/migrations/5_create_drink_table.rb
132
+ - spec/support/namespaced_animal.rb
132
133
  - spec/support/person.rb
133
134
  homepage: ''
134
135
  licenses:
@@ -149,7 +150,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
150
  - !ruby/object:Gem::Version
150
151
  version: '0'
151
152
  requirements: []
152
- rubygems_version: 3.0.3
153
+ rubyforge_project:
154
+ rubygems_version: 2.6.14
153
155
  signing_key:
154
156
  specification_version: 4
155
157
  summary: Use integers rather than strings for the _type field
@@ -168,4 +170,5 @@ test_files:
168
170
  - spec/support/migrations/3_create_person_table.rb
169
171
  - spec/support/migrations/4_create_food_table.rb
170
172
  - spec/support/migrations/5_create_drink_table.rb
173
+ - spec/support/namespaced_animal.rb
171
174
  - spec/support/person.rb