polymorpheus 3.2.0 → 3.3.0
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 +5 -5
- data/README.md +0 -2
- data/lib/polymorpheus/version.rb +1 -1
- data/polymorpheus.gemspec +3 -3
- data/spec/interface/belongs_to_polymorphic_spec.rb +44 -30
- data/spec/interface/has_many_as_polymorph_spec.rb +46 -29
- data/spec/interface/validates_polymorph_spec.rb +11 -9
- data/spec/interface_spec.rb +8 -8
- data/spec/schema_dumper_spec.rb +2 -2
- data/spec/support/custom_matchers.rb +7 -7
- data/spec/support/sql_test_helpers.rb +1 -1
- data/spec/trigger_spec.rb +30 -18
- metadata +14 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4ab6587aad06136dbdf95584bba576349fc9731187a60dd6945d74bcb400b025
|
4
|
+
data.tar.gz: b83008d22a38740f1ef2909971e5fd662ed8ac5297449ddd1dd405af43a4d792
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 476c715b239796573c7a2de566a4dd52507445c68227c4559cb7ec9a443ab707f48d31ad1477edfcfa52183e18634eac329bbe7d7c4bdbf006d620544c9d88b8
|
7
|
+
data.tar.gz: a778788d64292837ad5ed6e4a4a4b4fbc9e2fcdd5f38d1c99088c3fa2e7d838b07e20e1df3cae0cb0c7bf6c9e537c0c1d90c3c1ac17fcd8b5db2076def0194b0
|
data/README.md
CHANGED
@@ -142,8 +142,6 @@ Now let's review what we've done.
|
|
142
142
|
|
143
143
|
* Currently the gem only supports MySQL. Please feel free to fork and submit a
|
144
144
|
(well-tested) pull request if you want to add Postgres support.
|
145
|
-
* This gem is tested and has been tested for Rails 2.3.8, 3.0.x, 3.1.x, 3.2.x,
|
146
|
-
and 4.0.0
|
147
145
|
* For Rails 3.1+, you'll still need to use `up` and `down` methods in your
|
148
146
|
migrations.
|
149
147
|
|
data/lib/polymorpheus/version.rb
CHANGED
data/polymorpheus.gemspec
CHANGED
@@ -17,8 +17,8 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.extra_rdoc_files = ["README.md", "LICENSE.txt"]
|
18
18
|
s.license = 'MIT'
|
19
19
|
|
20
|
-
s.add_dependency('activerecord', '>= 3.2', '
|
20
|
+
s.add_dependency('activerecord', '>= 3.2', '< 6.1')
|
21
21
|
|
22
|
-
s.add_development_dependency('rake', '~>
|
23
|
-
s.add_development_dependency('rspec', '~>
|
22
|
+
s.add_development_dependency('rake', '~> 12.3.3')
|
23
|
+
s.add_development_dependency('rspec', '~> 3.9.0')
|
24
24
|
end
|
@@ -15,9 +15,12 @@ describe Polymorpheus::Interface::BelongsToPolymorphic do
|
|
15
15
|
create_table :villains
|
16
16
|
end
|
17
17
|
|
18
|
-
specify
|
19
|
-
|
20
|
-
|
18
|
+
specify do
|
19
|
+
expect(StoryArc::POLYMORPHEUS_ASSOCIATIONS).to eq(%w[hero villain])
|
20
|
+
end
|
21
|
+
specify do
|
22
|
+
expect(Superpower::POLYMORPHEUS_ASSOCIATIONS).to eq(%w[superhero supervillain])
|
23
|
+
end
|
21
24
|
|
22
25
|
describe "setter methods for ActiveRecord objects" do
|
23
26
|
let(:story_arc) { StoryArc.new(attributes) }
|
@@ -25,37 +28,38 @@ describe Polymorpheus::Interface::BelongsToPolymorphic do
|
|
25
28
|
|
26
29
|
it "sets the correct attribute value for the setter" do
|
27
30
|
story_arc.character = hero
|
28
|
-
story_arc.hero_id.
|
29
|
-
story_arc.villain_id.
|
31
|
+
expect(story_arc.hero_id).to eq(hero.id)
|
32
|
+
expect(story_arc.villain_id).to eq(nil)
|
30
33
|
end
|
31
34
|
|
32
35
|
it "sets competing associations to nil" do
|
33
36
|
story_arc.character = hero
|
34
|
-
story_arc.hero_id.
|
37
|
+
expect(story_arc.hero_id).to eq(hero.id)
|
35
38
|
story_arc.character = villain
|
36
|
-
story_arc.villain_id.
|
37
|
-
story_arc.hero_id.
|
39
|
+
expect(story_arc.villain_id).to eq(villain.id)
|
40
|
+
expect(story_arc.hero_id).to eq(nil)
|
38
41
|
end
|
39
42
|
|
40
43
|
it "throws an error if the assigned object isn't a valid type" do
|
41
44
|
create_table :trees
|
42
45
|
|
43
46
|
tree = Tree.create!
|
44
|
-
expect { story_arc.character = tree }
|
45
|
-
|
46
|
-
|
47
|
+
expect { story_arc.character = tree }.to raise_error(
|
48
|
+
Polymorpheus::Interface::InvalidTypeError,
|
49
|
+
"Invalid type. Must be one of {hero, villain}"
|
50
|
+
)
|
47
51
|
end
|
48
52
|
|
49
53
|
it "does not throw an error if the assigned object is a subclass of a
|
50
54
|
valid type" do
|
51
55
|
expect { story_arc.character = superhero }.not_to raise_error
|
52
|
-
story_arc.hero_id.
|
56
|
+
expect(story_arc.hero_id).to eq(superhero.id)
|
53
57
|
end
|
54
58
|
|
55
59
|
it "does not throw an error if the assigned object is a descendant of a
|
56
60
|
valid type" do
|
57
61
|
expect { story_arc.character = alien_demigod }.not_to raise_error
|
58
|
-
story_arc.hero_id.
|
62
|
+
expect(story_arc.hero_id).to eq(alien_demigod.id)
|
59
63
|
end
|
60
64
|
end
|
61
65
|
|
@@ -79,12 +83,12 @@ describe Polymorpheus::Interface::BelongsToPolymorphic do
|
|
79
83
|
|
80
84
|
it "works if the assigned object is of the specified class" do
|
81
85
|
expect { superpower.wielder = superhero }.not_to raise_error
|
82
|
-
superpower.superhero_id.
|
86
|
+
expect(superpower.superhero_id).to eq(superhero.id)
|
83
87
|
end
|
84
88
|
|
85
89
|
it "works if the assigned object is an instance of a child class" do
|
86
90
|
expect { superpower.wielder = alien_demigod }.not_to raise_error
|
87
|
-
superpower.superhero_id.
|
91
|
+
expect(superpower.superhero_id).to eq(alien_demigod.id)
|
88
92
|
end
|
89
93
|
end
|
90
94
|
|
@@ -94,42 +98,52 @@ describe Polymorpheus::Interface::BelongsToPolymorphic do
|
|
94
98
|
context 'when there is no relationship defined' do
|
95
99
|
let(:story_arc) { StoryArc.new }
|
96
100
|
|
97
|
-
|
98
|
-
|
99
|
-
|
101
|
+
specify do
|
102
|
+
expect(interface.associations).to match_associations(:hero, :villain)
|
103
|
+
end
|
104
|
+
specify { expect(interface.active_association).to eq nil }
|
105
|
+
specify { expect(interface.query_condition).to eq nil }
|
100
106
|
end
|
101
107
|
|
102
108
|
context 'when there is are multiple relationships defined' do
|
103
109
|
let(:story_arc) { StoryArc.new(hero_id: hero.id, villain_id: villain.id) }
|
104
110
|
|
105
|
-
|
106
|
-
|
107
|
-
|
111
|
+
specify do
|
112
|
+
expect(interface.associations).to match_associations(:hero, :villain)
|
113
|
+
end
|
114
|
+
specify { expect(interface.active_association).to eq nil }
|
115
|
+
specify { expect(interface.query_condition).to eq nil }
|
108
116
|
end
|
109
117
|
|
110
118
|
context 'when there is one relationship defined through the id value' do
|
111
119
|
let(:story_arc) { StoryArc.new(hero_id: hero.id) }
|
112
120
|
|
113
|
-
|
114
|
-
|
115
|
-
|
121
|
+
specify do
|
122
|
+
expect(interface.associations).to match_associations(:hero, :villain)
|
123
|
+
end
|
124
|
+
specify { expect(interface.active_association).to be_association(:hero) }
|
125
|
+
specify { expect(interface.query_condition).to eq('hero_id' => hero.id) }
|
116
126
|
end
|
117
127
|
|
118
128
|
context 'when there is one relationship defined through the setter' do
|
119
129
|
let(:story_arc) { StoryArc.new(character: hero) }
|
120
130
|
|
121
|
-
|
122
|
-
|
123
|
-
|
131
|
+
specify do
|
132
|
+
expect(interface.associations).to match_associations(:hero, :villain)
|
133
|
+
end
|
134
|
+
specify { expect(interface.active_association).to be_association(:hero) }
|
135
|
+
specify { expect(interface.query_condition).to eq('hero_id' => hero.id) }
|
124
136
|
end
|
125
137
|
|
126
138
|
context 'when there is one association, to a new record' do
|
127
139
|
let(:new_hero) { Hero.new }
|
128
140
|
let(:story_arc) { StoryArc.new(character: new_hero) }
|
129
141
|
|
130
|
-
|
131
|
-
|
132
|
-
|
142
|
+
specify do
|
143
|
+
expect(interface.associations).to match_associations(:hero, :villain)
|
144
|
+
end
|
145
|
+
specify { expect(interface.active_association).to be_association(:hero) }
|
146
|
+
specify { expect(interface.query_condition).to eq nil }
|
133
147
|
end
|
134
148
|
end
|
135
149
|
end
|
@@ -16,54 +16,71 @@ describe Polymorpheus::Interface::HasManyAsPolymorph do
|
|
16
16
|
|
17
17
|
it 'sets conditions on association to ensure we retrieve correct result' do
|
18
18
|
hero = Hero.create!
|
19
|
-
hero.story_arcs.to_sql
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
expect(hero.story_arcs.to_sql).to match_sql <<-EOS
|
20
|
+
SELECT `story_arcs`.* FROM `story_arcs`
|
21
|
+
WHERE `story_arcs`.`hero_id` = #{hero.id}
|
22
|
+
AND `story_arcs`.`villain_id` IS NULL
|
23
|
+
EOS
|
23
24
|
end
|
24
25
|
|
25
26
|
it 'supports existing conditions on the association' do
|
26
27
|
villain = Villain.create!
|
27
|
-
villain.story_arcs.to_sql
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
expect(villain.story_arcs.to_sql).to match_sql <<-EOS
|
29
|
+
SELECT `story_arcs`.* FROM `story_arcs`
|
30
|
+
WHERE `story_arcs`.`villain_id` = #{villain.id}
|
31
|
+
AND `story_arcs`.`hero_id` IS NULL
|
32
|
+
ORDER BY id DESC
|
33
|
+
EOS
|
32
34
|
end
|
33
35
|
|
34
36
|
it 'returns the correct result when used with new records' do
|
35
37
|
villain = Villain.create!
|
36
38
|
story_arc = StoryArc.create!(villain: villain, issue_id: 10)
|
37
|
-
Hero.new.story_arcs.where(issue_id: 10).
|
39
|
+
expect(Hero.new.story_arcs.where(issue_id: 10)).to eq([])
|
38
40
|
end
|
39
41
|
|
40
42
|
it 'sets conditions on associations with enough specificity that they work
|
41
43
|
in conjunction with has_many :through relationships' do
|
42
44
|
hero = Hero.create!
|
43
|
-
hero.battles.to_sql
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
45
|
+
expect(hero.battles.to_sql).to match_sql <<-EOS
|
46
|
+
SELECT `battles`.* FROM `battles`
|
47
|
+
INNER JOIN `story_arcs`
|
48
|
+
ON `battles`.`id` = `story_arcs`.`battle_id`
|
49
|
+
WHERE `story_arcs`.`hero_id` = #{hero.id}
|
50
|
+
AND `story_arcs`.`villain_id` IS NULL
|
51
|
+
EOS
|
49
52
|
end
|
50
53
|
|
51
54
|
it 'uses the correct association table name when used in conjunction with a
|
52
55
|
join condition' do
|
53
56
|
battle = Battle.create!
|
54
|
-
battle.heros.to_sql
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
57
|
+
expect(battle.heros.to_sql).to match_sql <<-EOS
|
58
|
+
SELECT `heros`.* FROM `heros`
|
59
|
+
INNER JOIN `story_arcs`
|
60
|
+
ON `heros`.`id` = `story_arcs`.`hero_id`
|
61
|
+
WHERE `story_arcs`.`battle_id` = #{battle.id}
|
62
|
+
EOS
|
59
63
|
|
60
|
-
|
61
|
-
.
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
64
|
+
if ActiveRecord::VERSION::MAJOR >= 6
|
65
|
+
expect(battle.heros.joins(:story_arcs).to_sql).to match_sql <<-EOS
|
66
|
+
SELECT `heros`.* FROM `heros`
|
67
|
+
INNER JOIN `story_arcs`
|
68
|
+
ON `heros`.`id` = `story_arcs`.`hero_id`
|
69
|
+
INNER JOIN `story_arcs` `story_arcs_heros`
|
70
|
+
ON `story_arcs_heros`.`villain_id` IS NULL
|
71
|
+
AND `story_arcs_heros`.`hero_id` = `heros`.`id`
|
72
|
+
WHERE `story_arcs`.`battle_id` = #{battle.id}
|
73
|
+
EOS
|
74
|
+
else
|
75
|
+
expect(battle.heros.joins(:story_arcs).to_sql).to match_sql <<-EOS
|
76
|
+
SELECT `heros`.* FROM `heros`
|
77
|
+
INNER JOIN `story_arcs` `story_arcs_heros`
|
78
|
+
ON `story_arcs_heros`.`hero_id` = `heros`.`id`
|
79
|
+
AND `story_arcs_heros`.`villain_id` IS NULL
|
80
|
+
INNER JOIN `story_arcs`
|
81
|
+
ON `heros`.`id` = `story_arcs`.`hero_id`
|
82
|
+
WHERE `story_arcs`.`battle_id` = #{battle.id}
|
83
|
+
EOS
|
84
|
+
end
|
68
85
|
end
|
69
86
|
end
|
@@ -13,23 +13,25 @@ describe Polymorpheus::Interface::ValidatesPolymorph do
|
|
13
13
|
create_table(:villains)
|
14
14
|
end
|
15
15
|
|
16
|
-
specify { StoryArc.new(character: hero).valid
|
17
|
-
specify { StoryArc.new(character: villain).valid
|
18
|
-
specify { StoryArc.new(hero_id: hero.id).valid
|
19
|
-
specify { StoryArc.new(hero: hero).valid
|
20
|
-
specify { StoryArc.new(hero: Hero.new).valid
|
16
|
+
specify { expect(StoryArc.new(character: hero).valid?).to eq(true) }
|
17
|
+
specify { expect(StoryArc.new(character: villain).valid?).to eq(true) }
|
18
|
+
specify { expect(StoryArc.new(hero_id: hero.id).valid?).to eq(true) }
|
19
|
+
specify { expect(StoryArc.new(hero: hero).valid?).to eq(true) }
|
20
|
+
specify { expect(StoryArc.new(hero: Hero.new).valid?).to eq(true) }
|
21
21
|
|
22
22
|
it 'is invalid if no association is specified' do
|
23
23
|
story_arc = StoryArc.new
|
24
|
-
story_arc.valid
|
25
|
-
story_arc.errors[:base].
|
24
|
+
expect(story_arc.valid?).to eq(false)
|
25
|
+
expect(story_arc.errors[:base]).to eq(
|
26
26
|
["You must specify exactly one of the following: {hero, villain}"]
|
27
|
+
)
|
27
28
|
end
|
28
29
|
|
29
30
|
it 'is invalid if multiple associations are specified' do
|
30
31
|
story_arc = StoryArc.new(hero_id: hero.id, villain_id: villain.id)
|
31
|
-
story_arc.valid
|
32
|
-
story_arc.errors[:base].
|
32
|
+
expect(story_arc.valid?).to eq(false)
|
33
|
+
expect(story_arc.errors[:base]).to eq(
|
33
34
|
["You must specify exactly one of the following: {hero, villain}"]
|
35
|
+
)
|
34
36
|
end
|
35
37
|
end
|
data/spec/interface_spec.rb
CHANGED
@@ -7,10 +7,10 @@ describe Polymorpheus::Interface do
|
|
7
7
|
create_table :books
|
8
8
|
create_table :binders
|
9
9
|
|
10
|
-
Drawing.new.association(:book).reflection.inverse_of.
|
11
|
-
Drawing.new.association(:binder).reflection.inverse_of.
|
12
|
-
Book.new.association(:drawings).reflection.inverse_of.
|
13
|
-
Binder.new.association(:drawings).reflection.inverse_of.
|
10
|
+
expect(Drawing.new.association(:book).reflection.inverse_of).to eq(nil)
|
11
|
+
expect(Drawing.new.association(:binder).reflection.inverse_of).to eq(nil)
|
12
|
+
expect(Book.new.association(:drawings).reflection.inverse_of).to eq(nil)
|
13
|
+
expect(Binder.new.association(:drawings).reflection.inverse_of).to eq(nil)
|
14
14
|
end
|
15
15
|
|
16
16
|
it 'with options' do
|
@@ -18,10 +18,10 @@ describe Polymorpheus::Interface do
|
|
18
18
|
create_table :web_pages
|
19
19
|
create_table :printed_works
|
20
20
|
|
21
|
-
Picture.new.association(:web_page).reflection.inverse_of.name.
|
22
|
-
Picture.new.association(:printed_work).reflection.inverse_of.name.
|
23
|
-
WebPage.new.association(:pictures).reflection.inverse_of.name.
|
24
|
-
PrintedWork.new.association(:pictures).reflection.inverse_of.name.
|
21
|
+
expect(Picture.new.association(:web_page).reflection.inverse_of.name).to eq(:pictures)
|
22
|
+
expect(Picture.new.association(:printed_work).reflection.inverse_of.name).to eq(:pictures)
|
23
|
+
expect(WebPage.new.association(:pictures).reflection.inverse_of.name).to eq(:web_page)
|
24
|
+
expect(PrintedWork.new.association(:pictures).reflection.inverse_of.name).to eq(:printed_work)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
data/spec/schema_dumper_spec.rb
CHANGED
@@ -30,10 +30,10 @@ describe Polymorpheus::SchemaDumper do
|
|
30
30
|
end
|
31
31
|
|
32
32
|
specify "the schema statement is part of the dump" do
|
33
|
-
subject.index(schema_statement).
|
33
|
+
expect(subject.index(schema_statement)).to be_a(Integer)
|
34
34
|
end
|
35
35
|
|
36
36
|
specify "there is exactly one instance of the schema statement" do
|
37
|
-
subject.index(schema_statement).
|
37
|
+
expect(subject.index(schema_statement)).to eq(subject.rindex(schema_statement))
|
38
38
|
end
|
39
39
|
end
|
@@ -1,31 +1,31 @@
|
|
1
1
|
RSpec::Matchers.define :be_association do |association_name|
|
2
2
|
match do |actual|
|
3
|
-
actual.
|
4
|
-
actual.name.
|
3
|
+
expect(actual).to be_instance_of Polymorpheus::InterfaceBuilder::Association
|
4
|
+
expect(actual.name).to eq association_name.to_s
|
5
5
|
end
|
6
6
|
end
|
7
7
|
|
8
8
|
RSpec::Matchers.define :match_associations do |*association_names|
|
9
9
|
match do |actual|
|
10
|
-
actual.length.
|
10
|
+
expect(actual.length).to eq association_names.length
|
11
11
|
actual.each_with_index do |item, ind|
|
12
|
-
item.
|
12
|
+
expect(item).to be_association(association_names[ind])
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
17
|
RSpec::Matchers.define :match_sql do |expected|
|
18
18
|
match do |actual|
|
19
|
-
format(expected).
|
19
|
+
expect(format(expected)).to eq format(actual)
|
20
20
|
end
|
21
21
|
|
22
|
-
|
22
|
+
failure_message do |actual|
|
23
23
|
"expected the following SQL statements to match:
|
24
24
|
#{format(actual)}
|
25
25
|
#{format(expected)}"
|
26
26
|
end
|
27
27
|
|
28
28
|
def format(sql)
|
29
|
-
sql.
|
29
|
+
sql.squish
|
30
30
|
end
|
31
31
|
end
|
data/spec/trigger_spec.rb
CHANGED
@@ -19,27 +19,39 @@ describe Polymorpheus::Trigger do
|
|
19
19
|
let(:collation_connection) { "utf8_general_ci" }
|
20
20
|
let(:db_collation) { "utf8_unicode_ci" }
|
21
21
|
|
22
|
-
|
23
|
-
described_class.new(
|
24
|
-
|
25
|
-
|
22
|
+
let(:trigger) do
|
23
|
+
described_class.new(
|
24
|
+
[
|
25
|
+
name,
|
26
|
+
event,
|
27
|
+
table,
|
28
|
+
statement,
|
29
|
+
timing,
|
30
|
+
created,
|
31
|
+
sql_mode,
|
32
|
+
definer,
|
33
|
+
charset,
|
34
|
+
collation_connection,
|
35
|
+
db_collation
|
36
|
+
]
|
37
|
+
)
|
26
38
|
end
|
27
39
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
40
|
+
specify { expect(trigger.name).to eq name }
|
41
|
+
specify { expect(trigger.event).to eq event }
|
42
|
+
specify { expect(trigger.table).to eq table }
|
43
|
+
specify { expect(trigger.statement).to eq statement }
|
44
|
+
specify { expect(trigger.timing).to eq timing }
|
45
|
+
specify { expect(trigger.created).to eq created }
|
46
|
+
specify { expect(trigger.sql_mode).to eq sql_mode }
|
47
|
+
specify { expect(trigger.definer).to eq definer }
|
48
|
+
specify { expect(trigger.charset).to eq charset }
|
49
|
+
specify { expect(trigger.collation_connection).to eq collation_connection }
|
50
|
+
specify { expect(trigger.db_collation).to eq db_collation }
|
39
51
|
|
40
|
-
|
52
|
+
specify { expect(trigger.columns).to eq %w[dog_id kitty_id] }
|
41
53
|
|
42
|
-
|
43
|
-
|
54
|
+
specify do
|
55
|
+
expect(trigger.schema_statement).to eq %{ add_polymorphic_triggers(:pets, ["dog_id", "kitty_id"])}
|
44
56
|
end
|
45
57
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: polymorpheus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Barun Singh
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -17,9 +17,9 @@ dependencies:
|
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.2'
|
20
|
-
- - "
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '6.
|
22
|
+
version: '6.1'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -27,37 +27,37 @@ dependencies:
|
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '3.2'
|
30
|
-
- - "
|
30
|
+
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '6.
|
32
|
+
version: '6.1'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: rake
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 12.3.3
|
40
40
|
type: :development
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 12.3.3
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: 3.9.0
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
60
|
+
version: 3.9.0
|
61
61
|
description: Provides a database-friendly method for polymorphic relationships
|
62
62
|
email: bsingh@wegowise.com
|
63
63
|
executables: []
|
@@ -106,7 +106,7 @@ homepage: http://github.com/wegowise/polymorpheus
|
|
106
106
|
licenses:
|
107
107
|
- MIT
|
108
108
|
metadata: {}
|
109
|
-
post_install_message:
|
109
|
+
post_install_message:
|
110
110
|
rdoc_options: []
|
111
111
|
require_paths:
|
112
112
|
- lib
|
@@ -121,9 +121,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
121
|
- !ruby/object:Gem::Version
|
122
122
|
version: 1.3.6
|
123
123
|
requirements: []
|
124
|
-
|
125
|
-
|
126
|
-
signing_key:
|
124
|
+
rubygems_version: 3.1.2
|
125
|
+
signing_key:
|
127
126
|
specification_version: 4
|
128
127
|
summary: Provides a database-friendly method for polymorphic relationships
|
129
128
|
test_files: []
|