has_many_polymorphic 2.0.4 → 2.0.5
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,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NGYzMDVkYTBlZDQxNDZmMTM4ZTI5YTUzMGI0YjZhYjg4MzZiZTQzODEyMTI5
|
10
|
-
ODk4YmNiMThjZWJhYzdjNDhmZjVhY2FhYzczMWNkOTAwNzgyNDlmMDgzZjg3
|
11
|
-
NzNhZGQyNjA1MDgyZGJlYTdjNThiMTlmNGM3NDJiN2ZlMjY5ZGU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZGU4YWFlZTNhOWZlMzU2Y2EwYTkyM2FjYjgzNWIzMzdiNDNmMTdlMTA0ZmIy
|
14
|
-
NWZlNzgyYWQ2NzYwZTgwYmI5NzBlMzdjZjY4NWYwYTlmM2YyYjJiMjdjMTcx
|
15
|
-
NjIyZTJhOGE0ZGNmNTQ2MzU2MDFiNTRkNTg1MmVjMDMxM2IyYTI=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1f025bcad9a6c1eab7e3d8a7519deaf2ba6153fc
|
4
|
+
data.tar.gz: e50000fe55f8f96393430120304acefb0a3b40d6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 82570f84a270a17f1dc3911006d7cb5d8efbd7eebf447c1c31fbf76b723846b6e497885b89bc301613a2d8de7b6680025291b3885467c1d81c814e084d0515a2
|
7
|
+
data.tar.gz: 4fc56f8d714a3dc4a2a3f8b7295526bbbc03383409d169e833d7807d6b0141732fa33ce808bc0de13223f3f802708859db2dc9b6cdab83db55ad7427a24d05a0
|
@@ -70,7 +70,7 @@ module RussellEdge #:nodoc:
|
|
70
70
|
|
71
71
|
#create the has_many relationship for each model
|
72
72
|
options[:models].each do |model|
|
73
|
-
has_many model
|
73
|
+
has_many model, :through => options[:through], :source => model.to_s.singularize,
|
74
74
|
:conditions => ["#{options[:through]}.#{name.to_s.singularize}_type = ?", model.to_s.classify], :dependent => :destroy
|
75
75
|
end
|
76
76
|
|
@@ -122,7 +122,7 @@ module RussellEdge #:nodoc:
|
|
122
122
|
options[:models].each do |model|
|
123
123
|
model.to_s.classify.constantize.class_exec do
|
124
124
|
has_many options[:through], :as => name.to_s.singularize, :dependent => :destroy
|
125
|
-
has_many target_class_name.tableize
|
125
|
+
has_many target_class_name.tableize, :through => options[:through], :dependent => :destroy
|
126
126
|
end
|
127
127
|
end
|
128
128
|
|
@@ -1,3 +1,3 @@
|
|
1
1
|
module HasManyPolymorphic
|
2
|
-
VERSION = '2.0.
|
3
|
-
end
|
2
|
+
VERSION = '2.0.5' unless defined?(::HasManyPolymorphic::VERSION)
|
3
|
+
end
|
@@ -1,55 +1,55 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "HasManyPolymorphic" do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
end
|
4
|
+
before(:all) do
|
5
|
+
Zoo.create(:name => 'Zoo Lander')
|
6
|
+
Bear.create(:name => 'Smokey')
|
7
|
+
Bird.create(:name => 'Big Bird')
|
8
|
+
Monkey.create(:name => 'George')
|
9
|
+
end
|
10
|
+
|
11
|
+
it "have created the animals and zoo" do
|
12
|
+
expect(Zoo.first.name).eql?'Zoo Lander'
|
13
|
+
expect(Monkey.find_by_name('George').name).eql? 'George'
|
14
|
+
expect(Bird.find_by_name('Big Bird').name).eql? 'Big Bird'
|
15
|
+
expect(Bear.find_by_name('Smokey').name).eql? 'Smokey'
|
16
|
+
end
|
17
|
+
|
18
|
+
it "allow you to add animals to a zoo" do
|
19
|
+
zoo = Zoo.first
|
20
|
+
expect(zoo.animals.count).eql? 0
|
21
|
+
zoo.monkeys << Monkey.find_by_name('George')
|
22
|
+
zoo.birds << Bird.find_by_name('Big Bird')
|
23
|
+
zoo.bears << Bear.find_by_name('Smokey')
|
24
|
+
zoo.save
|
25
|
+
|
26
|
+
expect(zoo.monkeys.count).eql? 1
|
27
|
+
expect(zoo.monkeys.first.name).eql? 'George'
|
28
|
+
|
29
|
+
expect(zoo.birds.count).eql? 1
|
30
|
+
expect(zoo.birds.first.name).eql? 'Big Bird'
|
31
|
+
|
32
|
+
expect(zoo.bears.count).eql? 1
|
33
|
+
expect(zoo.bears.first.name).eql? 'Smokey'
|
34
|
+
|
35
|
+
expect(zoo.animals.count).eql? 3
|
36
|
+
end
|
37
|
+
|
38
|
+
it "allow you to get the zoo from an animal" do
|
39
|
+
zoo = Zoo.first
|
40
|
+
|
41
|
+
zoo.monkeys << Monkey.find_by_name('George')
|
42
|
+
zoo.birds << Bird.find_by_name('Big Bird')
|
43
|
+
zoo.bears << Bear.find_by_name('Smokey')
|
44
|
+
zoo.save
|
45
|
+
|
46
|
+
monkey = Monkey.find_by_name('George')
|
47
|
+
expect(monkey.zoos.first.id).eql? zoo.id
|
48
|
+
|
49
|
+
bird = Bird.find_by_name('Big Bird')
|
50
|
+
expect(bird.zoos.first.id).eql? zoo.id
|
51
|
+
|
52
|
+
bear = Bear.find_by_name('Smokey')
|
53
|
+
expect(bear.zoos.first.id).eql? zoo.id
|
54
|
+
end
|
55
|
+
end
|
metadata
CHANGED
@@ -1,69 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: has_many_polymorphic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Russell Holmes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.2'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.2'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: test-unit
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
18
32
|
- !ruby/object:Gem::Version
|
19
33
|
version: '3.0'
|
20
34
|
type: :runtime
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
|
-
- -
|
38
|
+
- - "~>"
|
25
39
|
- !ruby/object:Gem::Version
|
26
40
|
version: '3.0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rspec-rails
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- - ~>
|
45
|
+
- - "~>"
|
32
46
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
47
|
+
version: '3.6'
|
34
48
|
type: :runtime
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
|
-
- - ~>
|
52
|
+
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
54
|
+
version: '3.6'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: simplecov
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- - ~>
|
59
|
+
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0.
|
61
|
+
version: '0.15'
|
48
62
|
type: :runtime
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
|
-
- - ~>
|
66
|
+
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0.
|
68
|
+
version: '0.15'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: sqlite3
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- -
|
73
|
+
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: '0'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- -
|
80
|
+
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0'
|
69
83
|
description: Simple replacement for has_many_polymorphs
|
@@ -72,19 +86,19 @@ executables: []
|
|
72
86
|
extensions: []
|
73
87
|
extra_rdoc_files: []
|
74
88
|
files:
|
89
|
+
- MIT-LICENSE
|
90
|
+
- README.md
|
91
|
+
- Rakefile
|
92
|
+
- lib/has_many_polymorphic.rb
|
75
93
|
- lib/has_many_polymorphic/engine.rb
|
76
94
|
- lib/has_many_polymorphic/has_many_polymorphic.rb
|
77
95
|
- lib/has_many_polymorphic/version.rb
|
78
|
-
- lib/has_many_polymorphic.rb
|
79
96
|
- spec/db/database.yml
|
80
97
|
- spec/db/schema.rb
|
81
98
|
- spec/debug.log
|
82
99
|
- spec/has_many_polymorphic_spec.rb
|
83
100
|
- spec/spec_helper.rb
|
84
101
|
- spec/support/models.rb
|
85
|
-
- MIT-LICENSE
|
86
|
-
- Rakefile
|
87
|
-
- README.md
|
88
102
|
homepage: https://github.com/russ1985/has_many_polymorphic
|
89
103
|
licenses: []
|
90
104
|
metadata: {}
|
@@ -94,17 +108,17 @@ require_paths:
|
|
94
108
|
- lib
|
95
109
|
required_ruby_version: !ruby/object:Gem::Requirement
|
96
110
|
requirements:
|
97
|
-
- -
|
111
|
+
- - ">="
|
98
112
|
- !ruby/object:Gem::Version
|
99
113
|
version: '0'
|
100
114
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
115
|
requirements:
|
102
|
-
- -
|
116
|
+
- - ">="
|
103
117
|
- !ruby/object:Gem::Version
|
104
118
|
version: '0'
|
105
119
|
requirements: []
|
106
120
|
rubyforge_project:
|
107
|
-
rubygems_version: 2.
|
121
|
+
rubygems_version: 2.4.8
|
108
122
|
signing_key:
|
109
123
|
specification_version: 4
|
110
124
|
summary: Simple replacement for has_many_polymorphs
|