snusnu-dm-accepts_nested_attributes 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +2 -5
- data/lib/dm-accepts_nested_attributes.rb +3 -2
- data/lib/dm-accepts_nested_attributes/{associations.rb → association_proxies.rb} +0 -0
- data/lib/dm-accepts_nested_attributes/association_validation.rb +91 -0
- data/lib/dm-accepts_nested_attributes/nested_attributes.rb +171 -220
- data/lib/dm-accepts_nested_attributes/version.rb +1 -1
- data/spec/fixtures/person.rb +1 -1
- data/spec/fixtures/profile.rb +1 -1
- data/spec/fixtures/project.rb +1 -1
- data/spec/fixtures/task.rb +1 -1
- data/spec/integration/belongs_to_spec.rb +33 -35
- data/spec/integration/has_1_spec.rb +38 -40
- data/spec/integration/has_n_spec.rb +41 -6
- data/spec/integration/has_n_through_spec.rb +35 -6
- data/spec/spec_helper.rb +32 -6
- data/spec/unit/accepts_nested_attributes_for_spec.rb +19 -14
- data/spec/unit/resource_spec.rb +1 -1
- data/tasks/gemspec.rb +0 -3
- metadata +4 -7
- data/spec/fixtures/photo.rb +0 -9
- data/spec/fixtures/tag.rb +0 -12
- data/spec/fixtures/tagging.rb +0 -10
- data/spec/integration/has_n_through_renamed_spec.rb +0 -214
data/spec/fixtures/person.rb
CHANGED
data/spec/fixtures/profile.rb
CHANGED
data/spec/fixtures/project.rb
CHANGED
data/spec/fixtures/task.rb
CHANGED
@@ -2,37 +2,12 @@ require 'pathname'
|
|
2
2
|
require Pathname(__FILE__).dirname.expand_path.parent + 'spec_helper'
|
3
3
|
|
4
4
|
describe DataMapper::NestedAttributes do
|
5
|
-
|
6
|
-
|
7
|
-
describe "every accessible belongs_to association with no associated parent model", :shared => true do
|
8
|
-
|
9
|
-
it "should return a new_record from get_\#{association_name}" do
|
10
|
-
@profile.get_person.should_not be_nil
|
11
|
-
@profile.get_person.should be_new_record
|
12
|
-
end
|
13
|
-
|
14
|
-
end
|
15
|
-
|
16
|
-
describe "every accessible belongs_to association with an associated parent model", :shared => true do
|
17
|
-
|
18
|
-
it "should return an already existing record from get_\#{association_name}" do
|
19
|
-
@profile.person_attributes = { :name => 'Martin' }
|
20
|
-
@profile.save
|
21
|
-
@profile.get_person.should_not be_nil
|
22
|
-
@profile.get_person.should_not be_new_record
|
23
|
-
@profile.get_person.should be_kind_of(Person)
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
5
|
|
28
6
|
describe "every accessible belongs_to association with a valid reject_if proc", :shared => true do
|
29
7
|
|
30
|
-
it_should_behave_like "every accessible belongs_to association with no associated parent model"
|
31
|
-
|
32
8
|
it "should not allow to create a new person via Profile#person_attributes" do
|
33
9
|
@profile.person_attributes = { :name => 'Martin' }
|
34
|
-
@profile.
|
35
|
-
@profile.save # fails because of validations (not null on belongs_to)
|
10
|
+
@profile.save.should be_false # fails because of validations (not null on belongs_to)
|
36
11
|
Profile.all.size.should == 0
|
37
12
|
Person.all.size.should == 0
|
38
13
|
end
|
@@ -40,9 +15,6 @@ describe DataMapper::NestedAttributes do
|
|
40
15
|
end
|
41
16
|
|
42
17
|
describe "every accessible belongs_to association with no reject_if proc", :shared => true do
|
43
|
-
|
44
|
-
it_should_behave_like "every accessible belongs_to association with no associated parent model"
|
45
|
-
it_should_behave_like "every accessible belongs_to association with an associated parent model"
|
46
18
|
|
47
19
|
it "should allow to create a new person via Profile#person_attributes" do
|
48
20
|
@profile.person_attributes = { :name => 'Martin' }
|
@@ -74,6 +46,26 @@ describe DataMapper::NestedAttributes do
|
|
74
46
|
Profile.all.size.should == 1
|
75
47
|
end
|
76
48
|
|
49
|
+
it "should perform atomic commits" do
|
50
|
+
@profile.person_attributes = { :name => nil } # will fail because of validations
|
51
|
+
@profile.person.should_not be_nil
|
52
|
+
@profile.person.name.should be_nil
|
53
|
+
@profile.save.should be_false
|
54
|
+
|
55
|
+
Profile.all.size.should == 0
|
56
|
+
Person.all.size.should == 0
|
57
|
+
|
58
|
+
@profile.nick = nil # will fail because of validations
|
59
|
+
@profile.should_not be_valid
|
60
|
+
@profile.person_attributes = { :name => 'Martin' }
|
61
|
+
@profile.person.should_not be_nil
|
62
|
+
@profile.person.name.should == 'Martin'
|
63
|
+
@profile.save.should be_false
|
64
|
+
|
65
|
+
Profile.all.size.should == 0
|
66
|
+
Person.all.size.should == 0
|
67
|
+
end
|
68
|
+
|
77
69
|
end
|
78
70
|
|
79
71
|
describe "every accessible belongs_to association with :allow_destroy => false", :shared => true do
|
@@ -127,11 +119,17 @@ describe DataMapper::NestedAttributes do
|
|
127
119
|
end
|
128
120
|
|
129
121
|
describe "Profile.belongs_to(:person)" do
|
122
|
+
|
123
|
+
include XToOneHelpers
|
124
|
+
|
125
|
+
before(:all) do
|
126
|
+
DataMapper.auto_migrate!
|
127
|
+
end
|
130
128
|
|
131
129
|
describe "accepts_nested_attributes_for(:person)" do
|
132
130
|
|
133
131
|
before(:each) do
|
134
|
-
|
132
|
+
clear_data
|
135
133
|
Profile.accepts_nested_attributes_for :person
|
136
134
|
@profile = Profile.new :nick => 'snusnu'
|
137
135
|
end
|
@@ -145,7 +143,7 @@ describe DataMapper::NestedAttributes do
|
|
145
143
|
describe "accepts_nested_attributes_for(:person, :allow_destroy => false)" do
|
146
144
|
|
147
145
|
before(:each) do
|
148
|
-
|
146
|
+
clear_data
|
149
147
|
Profile.accepts_nested_attributes_for :person, :allow_destroy => false
|
150
148
|
@profile = Profile.new :nick => 'snusnu'
|
151
149
|
end
|
@@ -158,7 +156,7 @@ describe DataMapper::NestedAttributes do
|
|
158
156
|
describe "accepts_nested_attributes_for(:person, :allow_destroy = true)" do
|
159
157
|
|
160
158
|
before(:each) do
|
161
|
-
|
159
|
+
clear_data
|
162
160
|
Profile.accepts_nested_attributes_for :person, :allow_destroy => true
|
163
161
|
@profile = Profile.new :nick => 'snusnu'
|
164
162
|
end
|
@@ -173,7 +171,7 @@ describe DataMapper::NestedAttributes do
|
|
173
171
|
describe ":reject_if => :foo" do
|
174
172
|
|
175
173
|
before(:each) do
|
176
|
-
|
174
|
+
clear_data
|
177
175
|
Profile.accepts_nested_attributes_for :person, :reject_if => :foo
|
178
176
|
@profile = Profile.new :nick => 'snusnu'
|
179
177
|
end
|
@@ -186,7 +184,7 @@ describe DataMapper::NestedAttributes do
|
|
186
184
|
describe ":reject_if => lambda { |attrs| true }" do
|
187
185
|
|
188
186
|
before(:each) do
|
189
|
-
|
187
|
+
clear_data
|
190
188
|
Profile.accepts_nested_attributes_for :person, :reject_if => lambda { |attrs| true }
|
191
189
|
@profile = Profile.new :nick => 'snusnu'
|
192
190
|
end
|
@@ -199,7 +197,7 @@ describe DataMapper::NestedAttributes do
|
|
199
197
|
describe ":reject_if => lambda { |attrs| false }" do
|
200
198
|
|
201
199
|
before(:each) do
|
202
|
-
|
200
|
+
clear_data
|
203
201
|
Profile.accepts_nested_attributes_for :person, :reject_if => lambda { |attrs| false }
|
204
202
|
@profile = Profile.new :nick => 'snusnu'
|
205
203
|
end
|
@@ -3,31 +3,7 @@ require Pathname(__FILE__).dirname.expand_path.parent + 'spec_helper'
|
|
3
3
|
|
4
4
|
describe DataMapper::NestedAttributes do
|
5
5
|
|
6
|
-
describe "every accessible has(1) association with no associated parent model", :shared => true do
|
7
|
-
|
8
|
-
it "should return a new_record from get_\#{association_name}" do
|
9
|
-
@person.profile_attributes = { :nick => 'snusnu' }
|
10
|
-
@person.get_profile.should_not be_nil
|
11
|
-
@person.get_profile.should be_new_record
|
12
|
-
end
|
13
|
-
|
14
|
-
end
|
15
|
-
|
16
|
-
describe "every accessible has(1) association with an associated parent model", :shared => true do
|
17
|
-
|
18
|
-
it "should return an already existing record from get_\#{association_name}" do
|
19
|
-
@person.profile_attributes = { :nick => 'snusnu' }
|
20
|
-
@person.save
|
21
|
-
@person.get_profile.should_not be_nil
|
22
|
-
@person.get_profile.should_not be_new_record
|
23
|
-
@person.get_profile.should be_kind_of(Profile)
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
6
|
describe "every accessible has(1) association with a valid reject_if proc", :shared => true do
|
29
|
-
|
30
|
-
it_should_behave_like "every accessible has(1) association with no associated parent model"
|
31
7
|
|
32
8
|
it "should not allow to create a new profile via Person#profile_attributes" do
|
33
9
|
@person.profile_attributes = { :nick => 'snusnu' }
|
@@ -41,35 +17,51 @@ describe DataMapper::NestedAttributes do
|
|
41
17
|
|
42
18
|
describe "every accessible has(1) association with no reject_if proc", :shared => true do
|
43
19
|
|
44
|
-
it_should_behave_like "every accessible has(1) association with no associated parent model"
|
45
|
-
it_should_behave_like "every accessible has(1) association with an associated parent model"
|
46
|
-
|
47
20
|
it "should allow to create a new profile via Person#profile_attributes" do
|
48
21
|
@person.profile_attributes = { :nick => 'snusnu' }
|
49
22
|
@person.profile.should_not be_nil
|
50
23
|
@person.profile.nick.should == 'snusnu'
|
51
|
-
@person.save
|
52
|
-
|
24
|
+
@person.save.should be_true
|
25
|
+
|
53
26
|
Person.all.size.should == 1
|
54
27
|
Profile.all.size.should == 1
|
55
28
|
Profile.first.nick.should == 'snusnu'
|
56
29
|
end
|
57
30
|
|
58
31
|
it "should allow to update an existing profile via Person#profile_attributes" do
|
59
|
-
@person.save
|
32
|
+
@person.save.should be_true
|
60
33
|
profile = Profile.create(:person_id => @person.id, :nick => 'snusnu')
|
61
34
|
@person.reload
|
62
35
|
|
63
36
|
@person.profile.should == profile
|
64
37
|
@person.profile_attributes = { :id => profile.id, :nick => 'still snusnu somehow' }
|
65
38
|
@person.profile.nick.should == 'still snusnu somehow'
|
66
|
-
@person.save
|
39
|
+
@person.save.should be_true
|
67
40
|
@person.profile.should == Profile.first
|
68
41
|
Person.all.size.should == 1
|
69
42
|
Profile.all.size.should == 1
|
70
43
|
Profile.first.nick.should == 'still snusnu somehow'
|
71
44
|
end
|
72
45
|
|
46
|
+
it "should perform atomic commits" do
|
47
|
+
@person.profile_attributes = { :nick => nil } # will fail because of validations
|
48
|
+
@person.profile.should_not be_nil
|
49
|
+
@person.profile.nick.should be_nil
|
50
|
+
@person.save.should be_false
|
51
|
+
|
52
|
+
Person.all.size.should == 0
|
53
|
+
Profile.all.size.should == 0
|
54
|
+
|
55
|
+
@person.profile_attributes = { :nick => 'snusnu' }
|
56
|
+
@person.profile.should_not be_nil
|
57
|
+
@person.profile.nick.should == 'snusnu'
|
58
|
+
@person.name = nil # will fail because of validations
|
59
|
+
@person.save.should be_false
|
60
|
+
|
61
|
+
Person.all.size.should == 0
|
62
|
+
Profile.all.size.should == 0
|
63
|
+
end
|
64
|
+
|
73
65
|
end
|
74
66
|
|
75
67
|
describe "every accessible has(1) association with :allow_destroy => false", :shared => true do
|
@@ -116,14 +108,20 @@ describe DataMapper::NestedAttributes do
|
|
116
108
|
|
117
109
|
describe "Person.has(1, :profile)" do
|
118
110
|
|
111
|
+
include XToOneHelpers
|
112
|
+
|
113
|
+
before(:all) do
|
114
|
+
DataMapper.auto_migrate!
|
115
|
+
end
|
116
|
+
|
119
117
|
describe "accepts_nested_attributes_for(:profile)" do
|
120
118
|
|
121
119
|
before(:each) do
|
122
|
-
|
120
|
+
clear_data
|
123
121
|
Person.accepts_nested_attributes_for :profile
|
124
122
|
@person = Person.new :name => 'Martin'
|
125
123
|
end
|
126
|
-
|
124
|
+
|
127
125
|
it_should_behave_like "every accessible has(1) association with no reject_if proc"
|
128
126
|
it_should_behave_like "every accessible has(1) association with :allow_destroy => false"
|
129
127
|
it_should_behave_like "every accessible has(1) association with a nested attributes reader"
|
@@ -133,7 +131,7 @@ describe DataMapper::NestedAttributes do
|
|
133
131
|
describe "accepts_nested_attributes_for(:profile, :allow_destroy => false)" do
|
134
132
|
|
135
133
|
before(:each) do
|
136
|
-
|
134
|
+
clear_data
|
137
135
|
Person.accepts_nested_attributes_for :profile, :allow_destroy => false
|
138
136
|
@person = Person.new :name => 'Martin'
|
139
137
|
end
|
@@ -146,7 +144,7 @@ describe DataMapper::NestedAttributes do
|
|
146
144
|
describe "accepts_nested_attributes_for(:profile, :allow_destroy => true)" do
|
147
145
|
|
148
146
|
before(:each) do
|
149
|
-
|
147
|
+
clear_data
|
150
148
|
Person.accepts_nested_attributes_for :profile, :allow_destroy => true
|
151
149
|
@person = Person.new :name => 'Martin'
|
152
150
|
end
|
@@ -162,7 +160,7 @@ describe DataMapper::NestedAttributes do
|
|
162
160
|
describe ":reject_if => :foo" do
|
163
161
|
|
164
162
|
before(:each) do
|
165
|
-
|
163
|
+
clear_data
|
166
164
|
Person.accepts_nested_attributes_for :profile, :reject_if => :foo
|
167
165
|
@person = Person.new :name => 'Martin'
|
168
166
|
end
|
@@ -175,7 +173,7 @@ describe DataMapper::NestedAttributes do
|
|
175
173
|
describe ":reject_if => lambda { |attrs| true }" do
|
176
174
|
|
177
175
|
before(:each) do
|
178
|
-
|
176
|
+
clear_data
|
179
177
|
Person.accepts_nested_attributes_for :profile, :reject_if => lambda { |attrs| true }
|
180
178
|
@person = Person.new :name => 'Martin'
|
181
179
|
end
|
@@ -184,11 +182,11 @@ describe DataMapper::NestedAttributes do
|
|
184
182
|
it_should_behave_like "every accessible has(1) association with :allow_destroy => false"
|
185
183
|
|
186
184
|
end
|
187
|
-
|
185
|
+
|
188
186
|
describe ":reject_if => lambda { |attrs| false }" do
|
189
|
-
|
187
|
+
|
190
188
|
before(:each) do
|
191
|
-
|
189
|
+
clear_data
|
192
190
|
Person.accepts_nested_attributes_for :profile, :reject_if => lambda { |attrs| false }
|
193
191
|
@person = Person.new :name => 'Martin'
|
194
192
|
end
|
@@ -52,6 +52,35 @@ describe DataMapper::NestedAttributes do
|
|
52
52
|
Task.first.name.should == 'write more specs'
|
53
53
|
end
|
54
54
|
|
55
|
+
it "should perform atomic commits" do
|
56
|
+
Project.all.size.should == 0
|
57
|
+
Task.all.size.should == 0
|
58
|
+
|
59
|
+
@project.name = nil # will fail because of validations
|
60
|
+
@project.tasks_attributes = { 'new_1' => { :name => 'write specs' } }
|
61
|
+
@project.tasks.should_not be_empty
|
62
|
+
@project.tasks.first.name.should == 'write specs'
|
63
|
+
@project.save
|
64
|
+
@project.should be_new_record
|
65
|
+
@project.tasks.all? { |t| t.should be_new_record }
|
66
|
+
Project.all.size.should == 0
|
67
|
+
Task.all.size.should == 0
|
68
|
+
|
69
|
+
# TODO write specs for xxx_attributes= method that test
|
70
|
+
# if same hash keys properly get overwritten and not end up being multiple records
|
71
|
+
# (which obviously is the case right now)
|
72
|
+
|
73
|
+
@project.name = 'dm-accepts_nested_attributes'
|
74
|
+
@project.tasks_attributes = { 'new_1' => { :name => nil } } # will fail because of validations
|
75
|
+
@project.tasks.should_not be_empty
|
76
|
+
@project.tasks.first.name.should be_nil
|
77
|
+
@project.save
|
78
|
+
@project.should be_new_record
|
79
|
+
@project.tasks.all? { |t| t.should be_new_record }
|
80
|
+
Project.all.size.should == 0
|
81
|
+
Task.all.size.should == 0
|
82
|
+
end
|
83
|
+
|
55
84
|
end
|
56
85
|
|
57
86
|
describe "every accessible has(n) association with :allow_destroy => false", :shared => true do
|
@@ -105,11 +134,17 @@ describe DataMapper::NestedAttributes do
|
|
105
134
|
end
|
106
135
|
|
107
136
|
describe "Project.has(n, :tasks)" do
|
137
|
+
|
138
|
+
include OneToManyHelpers
|
139
|
+
|
140
|
+
before(:all) do
|
141
|
+
DataMapper.auto_migrate!
|
142
|
+
end
|
108
143
|
|
109
144
|
describe "accepts_nested_attributes_for(:tasks)" do
|
110
145
|
|
111
146
|
before(:each) do
|
112
|
-
|
147
|
+
clear_data
|
113
148
|
Project.accepts_nested_attributes_for :tasks
|
114
149
|
@project = Project.new :name => 'trippings'
|
115
150
|
end
|
@@ -123,7 +158,7 @@ describe DataMapper::NestedAttributes do
|
|
123
158
|
describe "accepts_nested_attributes_for(:tasks, :allow_destroy => false)" do
|
124
159
|
|
125
160
|
before(:each) do
|
126
|
-
|
161
|
+
clear_data
|
127
162
|
Project.accepts_nested_attributes_for :tasks, :allow_destroy => false
|
128
163
|
@project = Project.new :name => 'trippings'
|
129
164
|
end
|
@@ -136,7 +171,7 @@ describe DataMapper::NestedAttributes do
|
|
136
171
|
describe "accepts_nested_attributes_for(:tasks, :allow_destroy => true)" do
|
137
172
|
|
138
173
|
before(:each) do
|
139
|
-
|
174
|
+
clear_data
|
140
175
|
Project.accepts_nested_attributes_for :tasks, :allow_destroy => true
|
141
176
|
@project = Project.new :name => 'trippings'
|
142
177
|
end
|
@@ -151,7 +186,7 @@ describe DataMapper::NestedAttributes do
|
|
151
186
|
describe ":reject_if => :foo" do
|
152
187
|
|
153
188
|
before(:each) do
|
154
|
-
|
189
|
+
clear_data
|
155
190
|
Project.accepts_nested_attributes_for :tasks, :reject_if => :foo
|
156
191
|
@project = Project.new :name => 'trippings'
|
157
192
|
end
|
@@ -164,7 +199,7 @@ describe DataMapper::NestedAttributes do
|
|
164
199
|
describe ":reject_if => lambda { |attrs| true }" do
|
165
200
|
|
166
201
|
before(:each) do
|
167
|
-
|
202
|
+
clear_data
|
168
203
|
Project.accepts_nested_attributes_for :tasks, :reject_if => lambda { |attrs| true }
|
169
204
|
@project = Project.new :name => 'trippings'
|
170
205
|
end
|
@@ -177,7 +212,7 @@ describe DataMapper::NestedAttributes do
|
|
177
212
|
describe ":reject_if => lambda { |attrs| false }" do
|
178
213
|
|
179
214
|
before(:each) do
|
180
|
-
|
215
|
+
clear_data
|
181
216
|
Project.accepts_nested_attributes_for :tasks, :reject_if => lambda { |attrs| false }
|
182
217
|
@project = Project.new :name => 'trippings'
|
183
218
|
end
|
@@ -65,6 +65,29 @@ describe DataMapper::NestedAttributes do
|
|
65
65
|
Project.first.name.should == 'still dm-accepts_nested_attributes'
|
66
66
|
end
|
67
67
|
|
68
|
+
it "should perform atomic commits" do
|
69
|
+
|
70
|
+
@person.projects_attributes = { 'new_1' => { :name => nil } } # should fail because of validations
|
71
|
+
@person.projects.should be_empty
|
72
|
+
@person.save
|
73
|
+
@person.projects.should be_empty
|
74
|
+
|
75
|
+
Person.all.size.should == 1
|
76
|
+
ProjectMembership.all.size.should == 0
|
77
|
+
Project.all.size.should == 0
|
78
|
+
|
79
|
+
@person.name = nil # should fail because of validations
|
80
|
+
@person.projects_attributes = { 'new_1' => { :name => nil } }
|
81
|
+
@person.projects.should be_empty
|
82
|
+
@person.save
|
83
|
+
@person.projects.should be_empty
|
84
|
+
|
85
|
+
Person.all.size.should == 0
|
86
|
+
ProjectMembership.all.size.should == 0
|
87
|
+
Project.all.size.should == 0
|
88
|
+
|
89
|
+
end
|
90
|
+
|
68
91
|
end
|
69
92
|
|
70
93
|
describe "every accessible has(n, :through) association with :allow_destroy => false", :shared => true do
|
@@ -124,11 +147,17 @@ describe DataMapper::NestedAttributes do
|
|
124
147
|
end
|
125
148
|
|
126
149
|
describe "Person.has(n, :projects, :through => :project_memberships)" do
|
150
|
+
|
151
|
+
include ManyToManyHelpers
|
152
|
+
|
153
|
+
before(:all) do
|
154
|
+
DataMapper.auto_migrate!
|
155
|
+
end
|
127
156
|
|
128
157
|
describe "accepts_nested_attributes_for(:projects)" do
|
129
158
|
|
130
159
|
before(:each) do
|
131
|
-
|
160
|
+
clear_data
|
132
161
|
Person.accepts_nested_attributes_for :projects
|
133
162
|
@person = Person.new :name => 'snusnu'
|
134
163
|
end
|
@@ -142,7 +171,7 @@ describe DataMapper::NestedAttributes do
|
|
142
171
|
describe "accepts_nested_attributes_for(:projects, :allow_destroy => false)" do
|
143
172
|
|
144
173
|
before(:each) do
|
145
|
-
|
174
|
+
clear_data
|
146
175
|
Person.accepts_nested_attributes_for :projects, :allow_destroy => false
|
147
176
|
@person = Person.new :name => 'snusnu'
|
148
177
|
end
|
@@ -155,7 +184,7 @@ describe DataMapper::NestedAttributes do
|
|
155
184
|
describe "accepts_nested_attributes_for(:projects, :allow_destroy = true)" do
|
156
185
|
|
157
186
|
before(:each) do
|
158
|
-
|
187
|
+
clear_data
|
159
188
|
Person.accepts_nested_attributes_for :projects, :allow_destroy => true
|
160
189
|
@person = Person.new :name => 'snusnu'
|
161
190
|
end
|
@@ -170,7 +199,7 @@ describe DataMapper::NestedAttributes do
|
|
170
199
|
describe ":reject_if => :foo" do
|
171
200
|
|
172
201
|
before(:each) do
|
173
|
-
|
202
|
+
clear_data
|
174
203
|
Person.accepts_nested_attributes_for :projects, :reject_if => :foo
|
175
204
|
@person = Person.new :name => 'snusnu'
|
176
205
|
end
|
@@ -183,7 +212,7 @@ describe DataMapper::NestedAttributes do
|
|
183
212
|
describe ":reject_if => lambda { |attrs| true }" do
|
184
213
|
|
185
214
|
before(:each) do
|
186
|
-
|
215
|
+
clear_data
|
187
216
|
Person.accepts_nested_attributes_for :projects, :reject_if => lambda { |attrs| true }
|
188
217
|
@person = Person.new :name => 'snusnu'
|
189
218
|
end
|
@@ -196,7 +225,7 @@ describe DataMapper::NestedAttributes do
|
|
196
225
|
describe ":reject_if => lambda { |attrs| false }" do
|
197
226
|
|
198
227
|
before(:each) do
|
199
|
-
|
228
|
+
clear_data
|
200
229
|
Person.accepts_nested_attributes_for :projects, :reject_if => lambda { |attrs| false }
|
201
230
|
@person = Person.new :name => 'snusnu'
|
202
231
|
end
|