francois-shoulda 2.0.5.2 → 2.0.5.4
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.
- data/README.rdoc +1 -1
- data/lib/shoulda/active_record/macros.rb +17 -4
- data/test/fail_macros.rb +1 -1
- data/test/unit/tag_test.rb +2 -2
- data/test/unit/user_test.rb +4 -4
- metadata +1 -1
data/README.rdoc
CHANGED
@@ -66,7 +66,7 @@ Quick macro tests for your ActiveRecord associations and validations:
|
|
66
66
|
should_allow_values_for :email, "a@b.com", "asdf@asdf.com"
|
67
67
|
should_ensure_length_in_range :email, 1..100
|
68
68
|
should_ensure_value_in_range :age, 1..100
|
69
|
-
|
69
|
+
should_not_allow_mass_assignment_of :password
|
70
70
|
end
|
71
71
|
|
72
72
|
Makes TDD so much easier.
|
@@ -140,9 +140,9 @@ module ThoughtBot # :nodoc:
|
|
140
140
|
|
141
141
|
# Ensures that the attribute cannot be set on mass update.
|
142
142
|
#
|
143
|
-
#
|
143
|
+
# should_not_allow_mass_assignment_of :password, :admin_flag
|
144
144
|
#
|
145
|
-
def
|
145
|
+
def should_not_allow_mass_assignment_of(*attributes)
|
146
146
|
get_options!(attributes)
|
147
147
|
klass = model_class
|
148
148
|
|
@@ -161,11 +161,16 @@ module ThoughtBot # :nodoc:
|
|
161
161
|
end
|
162
162
|
end
|
163
163
|
|
164
|
+
def should_protect_attributes(*attributes)
|
165
|
+
warn "[DEPRECATION] should_protect_attributes is deprecated; use should_not_allow_mass_assignment_of. Please see http://thoughtbot.lighthouseapp.com/projects/5807/tickets/106-should_allow_attributes for more information."
|
166
|
+
should_not_allow_mass_assignment_of(*attributes)
|
167
|
+
end
|
168
|
+
|
164
169
|
# Ensures that the attribute can be set on mass update.
|
165
170
|
#
|
166
|
-
#
|
171
|
+
# should_allow_mass_assignment_of :name, :email
|
167
172
|
#
|
168
|
-
def
|
173
|
+
def should_allow_mass_assignment_of(*attributes)
|
169
174
|
get_options!(attributes)
|
170
175
|
klass = model_class
|
171
176
|
|
@@ -184,6 +189,14 @@ module ThoughtBot # :nodoc:
|
|
184
189
|
end
|
185
190
|
end
|
186
191
|
|
192
|
+
# <b>DEPRECATED:</b> Please see
|
193
|
+
# http://thoughtbot.lighthouseapp.com/projects/5807/tickets/106-should_allow_attributes for more
|
194
|
+
# information.
|
195
|
+
def should_allow_attributes(*attributes)
|
196
|
+
warn "[DEPRECATION] should_allow_attributes is deprecated; use should_allow_mass_assignment_of. Please see http://thoughtbot.lighthouseapp.com/projects/5807/tickets/106-should_allow_attributes for more information."
|
197
|
+
should_allow_mass_assignment_of(*attributes)
|
198
|
+
end
|
199
|
+
|
187
200
|
# Ensures that the attribute cannot be changed once the record has been created.
|
188
201
|
#
|
189
202
|
# should_have_readonly_attributes :password, :admin_flag
|
data/test/fail_macros.rb
CHANGED
data/test/unit/tag_test.rb
CHANGED
@@ -6,10 +6,10 @@ class TagTest < Test::Unit::TestCase
|
|
6
6
|
|
7
7
|
should_ensure_length_at_least :name, 2
|
8
8
|
|
9
|
-
|
9
|
+
should_not_allow_mass_assignment_of :secret
|
10
10
|
|
11
11
|
should_fail do
|
12
|
-
|
12
|
+
should_not_allow_mass_assignment_of :name
|
13
13
|
should_have_valid_fixtures
|
14
14
|
end
|
15
15
|
end
|
data/test/unit/user_test.rb
CHANGED
@@ -33,8 +33,8 @@ class UserTest < Test::Unit::TestCase
|
|
33
33
|
should_allow_values_for :email, "a@b.com", "asdf@asdf.com"
|
34
34
|
should_ensure_length_in_range :email, 1..100
|
35
35
|
should_ensure_value_in_range :age, 1..100
|
36
|
-
|
37
|
-
|
36
|
+
should_not_allow_mass_assignment_of :password
|
37
|
+
should_allow_mass_assignment_of :name, :email
|
38
38
|
should_have_class_methods :find, :destroy
|
39
39
|
should_have_instance_methods :email, :age, :email=, :valid?
|
40
40
|
should_have_db_columns :name, :email, :age
|
@@ -50,7 +50,7 @@ class UserTest < Test::Unit::TestCase
|
|
50
50
|
should_have_readonly_attributes :name
|
51
51
|
|
52
52
|
should_fail do
|
53
|
-
|
54
|
-
|
53
|
+
should_not_allow_mass_assignment_of :name, :age
|
54
|
+
should_allow_mass_assignment_of :password
|
55
55
|
end
|
56
56
|
end
|