polymorphic_integer_type 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6c2cf440c0f3c18a7617ca1afb6ef64df29f5318
4
- data.tar.gz: c69f7e53591f29f1ca30f34824fcd82cf0d8347f
2
+ SHA256:
3
+ metadata.gz: 0d7804d64bb9623f7c1e99d9cc3e9d87660c4aa0377dcb990d0f36116e9d0f84
4
+ data.tar.gz: 4530a6917ae04b9e5b22823551a2c999909b32406d899aad950ac26373db333a
5
5
  SHA512:
6
- metadata.gz: 6d53e634ae33cd8ea9be786f8e5d8416154773a5795bff1a9d9b943961336755d416fef200cea78655d67d74253b52d95d2c18d1949cbd71f98550bc40050e12
7
- data.tar.gz: 3a35e05e8c28d847255c7f16168bda71f176f247f6260e2d54879e2a295764fd8f5a93de7dbbb146505040477a7e0e162755d6f8983e57de0ded30ba796d8158
6
+ metadata.gz: 0017c3e990e834177af622495715ea839c720bd5d511faf9675ae74820e9bff2a2cf63c7d648b7098b135b009a88a7f5a8386ee359e412f22749c77980d18939
7
+ data.tar.gz: 156289387a5dd038b1c8380b18514e78f9f3c418c0fd0fff5deb844d8a94006ea742fd3cc47ed6948cf970f3e1dde106df0a60b781b388300ed969aa5f6bdb7c
data/README.md CHANGED
@@ -6,11 +6,11 @@ Rails' polymorphic associations are pretty useful. The example they give to set
6
6
  class Picture < ActiveRecord::Base
7
7
  belongs_to :imageable, polymorphic: true
8
8
  end
9
-
9
+
10
10
  class Employee < ActiveRecord::Base
11
11
  has_many :pictures, as: :imageable
12
12
  end
13
-
13
+
14
14
  class Product < ActiveRecord::Base
15
15
  has_many :pictures, as: :imageable
16
16
  end
@@ -31,7 +31,7 @@ class CreatePictures < ActiveRecord::Migration
31
31
  end
32
32
  ```
33
33
 
34
- The problem with this approach is that `imageable_type` is a string (and by default it is 255 characters). This is a little ridiculous. For comparison, if we had a state machine with X states, would we describe the states with strings `"State1", "State2", etc` or would we just enumerate the state column and make it an integer? This gem will allow us to use an integer for the `imageable_type` column.
34
+ The problem with this approach is that `imageable_type` is a string (and by default it is 255 characters). This is a little ridiculous. For comparison, if we had a state machine with X states, would we describe the states with strings `"State1", "State2", etc` or would we just enumerate the state column and make it an integer? This gem will allow us to use an integer for the `imageable_type` column.
35
35
 
36
36
  ## Installation
37
37
 
@@ -60,7 +60,7 @@ class Picture < ActiveRecord::Base
60
60
  belongs_to :imageable, polymorphic: {1 => "Employee", 2 => "Product"}
61
61
  end
62
62
  ```
63
-
63
+
64
64
  Next, include `PolymorphicIntegerType::Extensions` into any of the models that point back to the polymorphic integer type association (e.g., `Picture#imageable`) and add a [polymorphic association using `as:`](http://guides.rubyonrails.org/association_basics.html#polymorphic-associations).
65
65
 
66
66
  ```ruby
@@ -69,7 +69,7 @@ class Employee < ActiveRecord::Base
69
69
 
70
70
  has_many :pictures, as: :imageable
71
71
  end
72
-
72
+
73
73
  class Product < ActiveRecord::Base
74
74
  include PolymorphicIntegerType::Extensions
75
75
 
@@ -84,10 +84,10 @@ You can also store polymorphic type mappings separate from your models. This sho
84
84
  ```ruby
85
85
  PolymorphicIntegerType::Mapping.configuration do |config|
86
86
  config.add :imageable, {1 => "Employee", 2 => "Product" }
87
- end
87
+ end
88
88
  ```
89
89
 
90
- Note: The mapping here can start from whatever integer you wish, but I would advise not using 0. The reason being that if you had a new class, for instance `Avatar`, and also wanted to use this polymorphic association but forgot to include it in the mapping, it would effectively get `to_i` called on it and stored in the database. `"Avatar".to_i == 0`, so if your mapping included 0, this would create a weird bug.
90
+ Note: The mapping here can start from whatever integer you wish, but I would advise not using 0. The reason being that if you had a new class, for instance `Avatar`, and also wanted to use this polymorphic association but forgot to include it in the mapping, it would effectively get `to_i` called on it and stored in the database. `"Avatar".to_i == 0`, so if your mapping included 0, this would create a weird bug.
91
91
 
92
92
  ### Migrating an existing association
93
93
 
@@ -95,14 +95,14 @@ If you want to convert a polymorphic association that is already a string, you'l
95
95
 
96
96
  ```ruby
97
97
  class PictureToPolymorphicIntegerType < ActiveRecord::Migration
98
-
98
+
99
99
  def up
100
100
  change_table :pictures do |t|
101
101
  t.integer :new_imageable_type
102
102
  end
103
103
 
104
104
  execute <<-SQL
105
- UPDATE reminders
105
+ UPDATE picture
106
106
  SET new_imageable_type = CASE imageable_type
107
107
  WHEN 'Employee' THEN 1
108
108
  WHEN 'Product' THEN 2
@@ -3,6 +3,8 @@ ACTIVE_RECORD_VERSION = Gem::Version.new(ActiveRecord::VERSION::STRING)
3
3
  require "polymorphic_integer_type/version"
4
4
  require "polymorphic_integer_type/extensions"
5
5
  require "polymorphic_integer_type/mapping"
6
+ require "polymorphic_integer_type/module_generator"
7
+ require "polymorphic_integer_type/belongs_to_polymorphic_association_extension"
6
8
 
7
9
  if ACTIVE_RECORD_VERSION < Gem::Version.new("5")
8
10
  require "polymorphic_integer_type/activerecord_4/predicate_builder_extension"
@@ -14,8 +16,4 @@ if ACTIVE_RECORD_VERSION >= Gem::Version.new("5.0") && ACTIVE_RECORD_VERSION < G
14
16
  require "polymorphic_integer_type/activerecord_5_0_0/association_query_handler_extension"
15
17
  end
16
18
 
17
- if ACTIVE_RECORD_VERSION < Gem::Version.new("5.2.0")
18
- require "polymorphic_integer_type/activerecord_4/belongs_to_polymorphic_association_extension"
19
- end
20
-
21
19
  module PolymorphicIntegerType; end
@@ -1,17 +1,31 @@
1
1
  module PolymorphicIntegerType
2
2
  module PolymorphicArrayValueExtension
3
+
4
+ # original method:
5
+ # def type_to_ids_mapping
6
+ # default_hash = Hash.new { |hsh, key| hsh[key] = [] }
7
+ # result = values.each_with_object(default_hash) do |value, hash|
8
+ # hash[klass(value).polymorphic_name] << convert_to_id(value)
9
+ # end
10
+ # end
11
+
3
12
  def type_to_ids_mapping
4
- super.tap do |result|
5
- association = @associated_table.send(:association)
6
- klass = association.active_record
7
- name = association.name
13
+ association = @associated_table.send(:association)
14
+ name = association.name
15
+ default_hash = Hash.new { |hsh, key| hsh[key] = [] }
16
+ values.each_with_object(default_hash) do |value, hash|
17
+ klass = respond_to?(:klass, true) ? klass(value) : value.class
18
+ if association.active_record.respond_to?("#{name}_type_mapping")
19
+ mapping = association.active_record.send("#{name}_type_mapping")
20
+ key ||= mapping.key(klass.polymorphic_name) if klass.respond_to?(:polymorphic_name)
21
+ key ||= mapping.key(klass.sti_name)
22
+ key ||= mapping.key(klass.base_class.to_s)
23
+ key ||= mapping.key(klass.base_class.sti_name)
8
24
 
9
- if klass.respond_to?("#{name}_type_mapping")
10
- result.transform_keys! do |key|
11
- klass.send("#{name}_type_mapping").key(key)
12
- end
25
+ hash[key] << convert_to_id(value)
26
+ else
27
+ hash[klass.polymorphic_name] << convert_to_id(value)
13
28
  end
14
- result
15
29
  end
16
30
  end
17
31
  end
@@ -3,7 +3,9 @@ module ActiveRecord
3
3
  class BelongsToPolymorphicAssociation < BelongsToAssociation
4
4
  private def replace_keys(record)
5
5
  super
6
- owner[reflection.foreign_type] = record.class.base_class
6
+ unless record.nil?
7
+ owner[reflection.foreign_type] = record.class.base_class
8
+ end
7
9
  end
8
10
  end
9
11
  end
@@ -20,37 +20,11 @@ module PolymorphicIntegerType
20
20
  _polymorphic_foreign_types << foreign_type
21
21
 
22
22
  # Required way to dynamically define a class method on the model
23
- singleton_class.__send__(:define_method, "#{foreign_type}_mapping") do
23
+ define_singleton_method("#{foreign_type}_mapping") do
24
24
  mapping
25
25
  end
26
26
 
27
- foreign_type_extension = Module.new do
28
- define_method foreign_type do
29
- t = super()
30
- self.class.send("#{foreign_type}_mapping")[t]
31
- end
32
-
33
- define_method "#{foreign_type}=" do |klass|
34
- mapping = self.class.send("#{foreign_type}_mapping")
35
- enum = mapping.key(klass.to_s)
36
- if klass.kind_of?(Class) && klass <= ActiveRecord::Base
37
- enum ||= mapping.key(klass.polymorphic_name) if klass.respond_to?(:polymorphic_name)
38
- enum ||= mapping.key(klass.sti_name)
39
- enum ||= mapping.key(klass.base_class.to_s)
40
- enum ||= mapping.key(klass.base_class.sti_name)
41
- end
42
- enum ||= klass if klass != NilClass
43
- super(enum)
44
- end
45
-
46
- define_method "#{name}=" do |record|
47
- super(record)
48
- send("#{foreign_type}=", record.class)
49
- association(name).loaded!
50
- end
51
- end
52
-
53
- include(foreign_type_extension)
27
+ ModuleGenerator.generate_and_include(self, foreign_type, name)
54
28
 
55
29
  validate do
56
30
  t = send(foreign_type)
@@ -15,6 +15,6 @@ module PolymorphicIntegerType
15
15
  @@mapping[as] || {}
16
16
  end
17
17
 
18
+ singleton_class.send(:alias_method, :[]=, :add)
18
19
  end
19
-
20
20
  end
@@ -0,0 +1,34 @@
1
+ module PolymorphicIntegerType
2
+ class ModuleGenerator
3
+ def self.generate_and_include(klass,foreign_type, name)
4
+ foreign_type_extension = Module.new do
5
+ define_method foreign_type do
6
+ t = super()
7
+ self.class.send("#{foreign_type}_mapping")[t]
8
+ end
9
+
10
+ define_method "#{foreign_type}=" do |klass|
11
+ mapping = self.class.send("#{foreign_type}_mapping")
12
+ enum = mapping.key(klass.to_s)
13
+ if klass.kind_of?(Class) && klass <= ActiveRecord::Base
14
+ enum ||= mapping.key(klass.polymorphic_name) if klass.respond_to?(:polymorphic_name)
15
+ enum ||= mapping.key(klass.sti_name)
16
+ enum ||= mapping.key(klass.base_class.to_s)
17
+ enum ||= mapping.key(klass.base_class.sti_name)
18
+ end
19
+ enum ||= klass if klass != NilClass
20
+ super(enum)
21
+ end
22
+
23
+ define_method "#{name}=" do |record|
24
+ super(record)
25
+ send("#{foreign_type}=", record.class)
26
+ association(name).loaded!
27
+ end
28
+ end
29
+
30
+ klass.include(foreign_type_extension)
31
+ end
32
+ end
33
+ end
34
+
@@ -1,3 +1,3 @@
1
1
  module PolymorphicIntegerType
2
- VERSION = "2.3.0"
2
+ VERSION = "2.3.1"
3
3
  end
@@ -18,10 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "activerecord"
21
+ spec.add_dependency "activerecord", "< 6"
22
22
  spec.add_development_dependency "bundler"
23
23
  spec.add_development_dependency "rake"
24
24
  spec.add_development_dependency "rspec"
25
25
  spec.add_development_dependency "sqlite3"
26
- spec.add_development_dependency "byebug"
26
+ spec.add_development_dependency "pry-byebug"
27
27
  end
@@ -14,6 +14,50 @@ describe PolymorphicIntegerType do
14
14
 
15
15
  let(:link) { Link.create(source: source, target: target) }
16
16
 
17
+
18
+ context "when creating associations" do
19
+ it "sets the source_type" do
20
+ link = dog.source_links.new
21
+ expect(link.source_type).to eq("Animal")
22
+ end
23
+
24
+ it "sets the target_type" do
25
+ link = kibble.target_links.new
26
+ expect(link.target_type).to eq("Food")
27
+ end
28
+
29
+ context "when models are namespaced" do
30
+ context "and mappings include namespaces" do
31
+ it "sets the source_type" do
32
+ allow(Link).to receive(:source_type_mapping).and_return({3 => "Namespaced::Plant"})
33
+ allow(Link).to receive(:source_type_mapping2).and_return({3 => "Namespaced::Plant"})
34
+
35
+ link = Namespaced::Plant.create(name: "Oak").source_links.new
36
+ expect(link.source_type).to eq("Namespaced::Plant")
37
+ end
38
+
39
+ it "sets the target_type" do
40
+ allow(Link).to receive(:target_type_mapping).and_return({3 => "Namespaced::Activity"})
41
+ link = Namespaced::Activity.create(name: "swaying").target_links.new
42
+ expect(link.target_type).to eq("Namespaced::Activity")
43
+ end
44
+ end
45
+
46
+ context "and mappings don't include namespaces" do
47
+ it "sets the source type" do
48
+ Link.source_type_mapping
49
+ link = Namespaced::Plant.create(name: "Oak").source_links.new
50
+ expect(link.source_type).to eq("Plant")
51
+ end
52
+
53
+ it "sets the target type" do
54
+ link = Namespaced::Activity.create(name:"swaying").target_links.new
55
+ expect(link.target_type).to eq("Activity")
56
+ end
57
+ end
58
+ end
59
+ end
60
+
17
61
  context "when the source is nil" do
18
62
  let(:source) { nil }
19
63
  let(:target) { nil }
@@ -73,6 +117,15 @@ describe PolymorphicIntegerType do
73
117
  it "properly finds the object with a find_by" do
74
118
  expect(Link.find_by(source: source, id: link.id)).to eql link
75
119
  end
120
+
121
+ context "when source and target are namespaced without modifying polymorphic_name" do
122
+ it "properly finds the object" do
123
+ plant = Namespaced::Plant.create(name: "Mighty", kind: "Oak", owner: owner)
124
+ activity = Namespaced::Activity.create(name: "swaying")
125
+ link = Link.create(source: plant, target: activity)
126
+ expect(Link.where(source: plant, id: link.id).first).to eql link
127
+ end
128
+ end
76
129
  end
77
130
 
78
131
  shared_examples "proper source" do
@@ -103,7 +156,6 @@ describe PolymorphicIntegerType do
103
156
  expect(source.source_links[0].source).to eql source
104
157
  end
105
158
  end
106
-
107
159
  end
108
160
  context "When a link is given polymorphic record" do
109
161
  let(:link) { Link.create(source: source) }
@@ -116,9 +168,7 @@ describe PolymorphicIntegerType do
116
168
 
117
169
  include_examples "proper source"
118
170
  include_examples "proper target"
119
-
120
171
  end
121
-
122
172
  end
123
173
 
124
174
  context "When a link is given polymorphic id and type" do
@@ -131,9 +181,7 @@ describe PolymorphicIntegerType do
131
181
  before { link.update_attributes(target_id: target.id, target_type: target.class.to_s) }
132
182
  include_examples "proper source"
133
183
  include_examples "proper target"
134
-
135
184
  end
136
-
137
185
  end
138
186
 
139
187
  context "When using a relation to the links with eager loading" do
@@ -146,9 +194,7 @@ describe PolymorphicIntegerType do
146
194
  it "should be able to return the links and the targets" do
147
195
  expect(cat.source_links).to match_array links
148
196
  expect(cat.source_links.includes(:target).collect(&:target)).to match_array [water, kibble]
149
-
150
197
  end
151
-
152
198
  end
153
199
 
154
200
  context "When using a through relation to the links with eager loading" do
@@ -161,9 +207,7 @@ describe PolymorphicIntegerType do
161
207
  it "should be able to return the links and the targets" do
162
208
  expect(owner.pet_source_links).to match_array links
163
209
  expect(owner.pet_source_links.includes(:target).collect(&:target)).to match_array [water, kibble]
164
-
165
210
  end
166
-
167
211
  end
168
212
 
169
213
  context "When eager loading the polymorphic association" do
@@ -178,16 +222,12 @@ describe PolymorphicIntegerType do
178
222
  expect(links.first.source).to eql cat
179
223
  expect(links.last.source).to eql dog
180
224
  end
181
-
182
225
  end
183
226
 
184
227
  it "should be able to preload the association" do
185
228
  l = Link.includes(:source).where(id: link.id).first
186
229
  expect(l.source).to eql cat
187
230
  end
188
-
189
-
190
-
191
231
  end
192
232
 
193
233
  context "when the association is an STI table" do
@@ -239,7 +279,7 @@ describe PolymorphicIntegerType do
239
279
  include_examples "proper target"
240
280
 
241
281
  it "creates foreign_type mapping method" do
242
- expect(Link.source_type_mapping).to eq({1 => "Person", 2 => "Animal"})
282
+ expect(Link.source_type_mapping).to eq({1 => "Person", 2 => "Animal", 3 => "Plant"})
243
283
  expect(InlineLink.source_type_mapping).to eq({10 => "Person", 11 => "InlineAnimal"})
244
284
  end
245
285
 
@@ -5,11 +5,14 @@ require 'support/configuration'
5
5
  require 'support/link'
6
6
  require 'support/animal'
7
7
  require 'support/namespaced_animal'
8
+ require 'support/namespaced_plant'
8
9
  require 'support/dog'
9
10
  require 'support/person'
10
11
  require 'support/food'
11
12
  require 'support/drink'
13
+ require 'support/namespaced_activity'
12
14
  require 'byebug'
15
+ require 'pry'
13
16
 
14
17
  RSpec.configure do |config|
15
18
  config.before(:suite) do
@@ -1,4 +1,4 @@
1
1
  PolymorphicIntegerType::Mapping.configuration do |config|
2
- config.add :source, {1 => "Person", 2 => "Animal"}
3
- config.add :target, {1 => "Food", 2 => "Drink"}
2
+ config.add :source, {1 => "Person", 2 => "Animal", 3 => "Plant"}
3
+ config.add :target, {1 => "Food", 2 => "Drink", 3 => "Activity"}
4
4
  end
@@ -3,12 +3,4 @@ class Link < ActiveRecord::Base
3
3
 
4
4
  belongs_to :source, polymorphic: true, integer_type: true
5
5
  belongs_to :target, polymorphic: true, integer_type: true
6
-
7
- def source=(val)
8
- super(val)
9
- end
10
-
11
- def source_type=(val)
12
- super(val)
13
- end
14
6
  end
@@ -0,0 +1,17 @@
1
+ class CreatePlantTable < ActiveRecord::Migration[5.2]
2
+
3
+ def up
4
+ create_table :plants do |t|
5
+ t.string :name
6
+ t.string :type
7
+ t.string :kind
8
+ t.integer :owner_id
9
+ end
10
+ end
11
+
12
+ def down
13
+ drop_table :plants
14
+ end
15
+
16
+ end
17
+
@@ -0,0 +1,15 @@
1
+ class CreateActivityTable < ActiveRecord::Migration[5.2]
2
+
3
+ def up
4
+ create_table :activities do |t|
5
+ t.string :name
6
+ end
7
+ end
8
+
9
+ def down
10
+ drop_table :activities
11
+ end
12
+
13
+ end
14
+
15
+
@@ -0,0 +1,11 @@
1
+ module Namespaced
2
+ class Activity < ActiveRecord::Base
3
+ include PolymorphicIntegerType::Extensions
4
+
5
+ self.store_full_sti_class = false
6
+ self.table_name = "activities"
7
+
8
+ has_many :target_links, as: :target, inverse_of: :target, integer_type: true, class_name: "Link"
9
+ end
10
+ end
11
+
@@ -0,0 +1,11 @@
1
+ module Namespaced
2
+ class Plant < ActiveRecord::Base
3
+ include PolymorphicIntegerType::Extensions
4
+
5
+ self.store_full_sti_class = false
6
+ self.table_name = "plants"
7
+
8
+ belongs_to :owner, class_name: "Person"
9
+ has_many :source_links, as: :source, inverse_of: :source, integer_type: true, class_name: "Link"
10
+ end
11
+ end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polymorphic_integer_type
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.3.1
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: 2020-10-28 00:00:00.000000000 Z
11
+ date: 2020-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "<"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '6'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "<"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: byebug
84
+ name: pry-byebug
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -117,12 +117,13 @@ files:
117
117
  - gemfiles/Gemfile.rails-5.2-stable
118
118
  - gemfiles/Gemfile.rails-5.2-stable.lock
119
119
  - lib/polymorphic_integer_type.rb
120
- - lib/polymorphic_integer_type/activerecord_4/belongs_to_polymorphic_association_extension.rb
121
120
  - lib/polymorphic_integer_type/activerecord_4/predicate_builder_extension.rb
122
121
  - lib/polymorphic_integer_type/activerecord_5_0_0/association_query_handler_extension.rb
123
122
  - lib/polymorphic_integer_type/activerecord_5_0_0/polymorphic_array_value_extension.rb
123
+ - lib/polymorphic_integer_type/belongs_to_polymorphic_association_extension.rb
124
124
  - lib/polymorphic_integer_type/extensions.rb
125
125
  - lib/polymorphic_integer_type/mapping.rb
126
+ - lib/polymorphic_integer_type/module_generator.rb
126
127
  - lib/polymorphic_integer_type/version.rb
127
128
  - polymorphic_integer_type.gemspec
128
129
  - spec/polymorphic_integer_type_spec.rb
@@ -139,7 +140,11 @@ files:
139
140
  - spec/support/migrations/3_create_person_table.rb
140
141
  - spec/support/migrations/4_create_food_table.rb
141
142
  - spec/support/migrations/5_create_drink_table.rb
143
+ - spec/support/migrations/6_create_plant_table.rb
144
+ - spec/support/migrations/7_create_activity_table.rb
145
+ - spec/support/namespaced_activity.rb
142
146
  - spec/support/namespaced_animal.rb
147
+ - spec/support/namespaced_plant.rb
143
148
  - spec/support/person.rb
144
149
  homepage: ''
145
150
  licenses:
@@ -161,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
166
  version: '0'
162
167
  requirements: []
163
168
  rubyforge_project:
164
- rubygems_version: 2.6.14
169
+ rubygems_version: 2.7.9
165
170
  signing_key:
166
171
  specification_version: 4
167
172
  summary: Use integers rather than strings for the _type field
@@ -180,5 +185,9 @@ test_files:
180
185
  - spec/support/migrations/3_create_person_table.rb
181
186
  - spec/support/migrations/4_create_food_table.rb
182
187
  - spec/support/migrations/5_create_drink_table.rb
188
+ - spec/support/migrations/6_create_plant_table.rb
189
+ - spec/support/migrations/7_create_activity_table.rb
190
+ - spec/support/namespaced_activity.rb
183
191
  - spec/support/namespaced_animal.rb
192
+ - spec/support/namespaced_plant.rb
184
193
  - spec/support/person.rb