seedomatic 0.5.6 → 0.5.8
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 +7 -0
- data/lib/seedomatic/seeder.rb +5 -4
- data/lib/seedomatic/version.rb +1 -1
- data/seedomatic.gemspec +1 -0
- data/spec/lib/seeder_spec.rb +33 -1
- data/spec/spec_helper.rb +2 -1
- data/spec/support/my_model.rb +5 -1
- metadata +34 -16
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d14bc3c7282abf61784cf857ce53b3890a0c99b5
|
4
|
+
data.tar.gz: ac308741f84c8700f338cfbd38f832f1552bfece
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 994dc21a1ea0fee69afb95d2eca165ea0939ee84a8472c869a73e1006a7b2981cd7f984481d179563983ba299fdfa589f4bc3b612e48bef4f7081a5638d0b7f1
|
7
|
+
data.tar.gz: 8c52da3a650a20f84bb1416cc207c367e15dd7dfd55202f5c924e53232ec5cf4a4a29b9a2e3c403e7617bbb16b4174a125c0456de9f5d1076ab0fc059577f65c
|
data/lib/seedomatic/seeder.rb
CHANGED
@@ -23,11 +23,12 @@ module SeedOMatic
|
|
23
23
|
updated_records += 1
|
24
24
|
end
|
25
25
|
|
26
|
-
clean_up_associations(model, attrs)
|
27
|
-
|
28
26
|
if model.new_record? || seed_mode == 'always'
|
27
|
+
clean_up_associations(model, attrs)
|
29
28
|
model.attributes = process_lookups(attrs)
|
30
|
-
model.save
|
29
|
+
if !model.save
|
30
|
+
raise "Unable to save model: #{model} - #{model.errors.full_messages.join(", ")}"
|
31
|
+
end
|
31
32
|
end
|
32
33
|
end
|
33
34
|
|
@@ -72,4 +73,4 @@ module SeedOMatic
|
|
72
73
|
end
|
73
74
|
|
74
75
|
end
|
75
|
-
end
|
76
|
+
end
|
data/lib/seedomatic/version.rb
CHANGED
data/seedomatic.gemspec
CHANGED
data/spec/lib/seeder_spec.rb
CHANGED
@@ -114,6 +114,22 @@ describe SeedOMatic::Seeder do
|
|
114
114
|
new_mock.should_receive(:save!)
|
115
115
|
subject
|
116
116
|
end
|
117
|
+
|
118
|
+
describe "nested associations" do
|
119
|
+
let(:items) {
|
120
|
+
[{'name' => 'foo', 'code' => 'existing', 'foos_attributes' => [{'a' => 1}]}]
|
121
|
+
}
|
122
|
+
|
123
|
+
it "should not destroy existing ones" do
|
124
|
+
mock_association = mock('foos')
|
125
|
+
|
126
|
+
MyModel.stub(:reflect_on_association).and_return(stub('association', collection?: true))
|
127
|
+
existing_mock.stub(:foos).and_return(mock_association)
|
128
|
+
mock_association.should_not_receive(:destroy_all)
|
129
|
+
|
130
|
+
subject
|
131
|
+
end
|
132
|
+
end
|
117
133
|
end
|
118
134
|
context "always" do
|
119
135
|
let(:seed_mode) { 'always' }
|
@@ -123,6 +139,22 @@ describe SeedOMatic::Seeder do
|
|
123
139
|
new_mock.should_receive(:save!)
|
124
140
|
subject
|
125
141
|
end
|
142
|
+
|
143
|
+
describe "nested associations" do
|
144
|
+
let(:items) {
|
145
|
+
[{'name' => 'foo', 'code' => 'existing', 'foos_attributes' => [{'a' => 1}]}]
|
146
|
+
}
|
147
|
+
|
148
|
+
it "should destroy previously existing ones" do
|
149
|
+
mock_association = mock('foos')
|
150
|
+
|
151
|
+
MyModel.stub(:reflect_on_association).and_return(stub('association', collection?: true))
|
152
|
+
existing_mock.stub(:foos).and_return(mock_association)
|
153
|
+
mock_association.should_receive(:destroy_all)
|
154
|
+
|
155
|
+
subject
|
156
|
+
end
|
157
|
+
end
|
126
158
|
end
|
127
159
|
end
|
128
160
|
|
@@ -167,4 +199,4 @@ describe SeedOMatic::Seeder do
|
|
167
199
|
end
|
168
200
|
end
|
169
201
|
end
|
170
|
-
end
|
202
|
+
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/support/my_model.rb
CHANGED
metadata
CHANGED
@@ -1,38 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: seedomatic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
5
|
-
prerelease:
|
4
|
+
version: 0.5.8
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ryan Brunner
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-12-24 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rspec
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 2.9.0
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.9.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: pry
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
25
41
|
- !ruby/object:Gem::Dependency
|
26
42
|
name: activesupport
|
27
|
-
requirement:
|
28
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
29
44
|
requirements:
|
30
|
-
- -
|
45
|
+
- - '>='
|
31
46
|
- !ruby/object:Gem::Version
|
32
47
|
version: '0'
|
33
48
|
type: :runtime
|
34
49
|
prerelease: false
|
35
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
36
55
|
description: Create repeatable seed fixtures that you can continually use and deploy
|
37
56
|
to multiple environments and tenants.
|
38
57
|
email:
|
@@ -64,27 +83,26 @@ files:
|
|
64
83
|
- tasks/seed.rake
|
65
84
|
homepage: http://github.com/ryanbrunner/seedomatic
|
66
85
|
licenses: []
|
86
|
+
metadata: {}
|
67
87
|
post_install_message:
|
68
88
|
rdoc_options: []
|
69
89
|
require_paths:
|
70
90
|
- lib
|
71
91
|
required_ruby_version: !ruby/object:Gem::Requirement
|
72
|
-
none: false
|
73
92
|
requirements:
|
74
|
-
- -
|
93
|
+
- - '>='
|
75
94
|
- !ruby/object:Gem::Version
|
76
95
|
version: '0'
|
77
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
97
|
requirements:
|
80
|
-
- -
|
98
|
+
- - '>='
|
81
99
|
- !ruby/object:Gem::Version
|
82
100
|
version: '0'
|
83
101
|
requirements: []
|
84
102
|
rubyforge_project: seedomatic
|
85
|
-
rubygems_version: 1.
|
103
|
+
rubygems_version: 2.1.11
|
86
104
|
signing_key:
|
87
|
-
specification_version:
|
105
|
+
specification_version: 4
|
88
106
|
summary: Seed-O-Matic makes seeding easier.
|
89
107
|
test_files:
|
90
108
|
- spec/lib/seed_o_matic_spec.rb
|