aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2008-03-29 17:53:44 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2008-03-29 17:53:44 +0000
commitf34d57e2d2fcc3357e7b4076d23bed3bfbd35ce3 (patch)
tree122316b519a5612362cabe6c0399604d2eab1f48 /activerecord/lib/active_record
parent3748d7a0f2a2826cfb9aa8fdde5789fa62b0de34 (diff)
downloadrails-f34d57e2d2fcc3357e7b4076d23bed3bfbd35ce3.tar.gz
rails-f34d57e2d2fcc3357e7b4076d23bed3bfbd35ce3.tar.bz2
rails-f34d57e2d2fcc3357e7b4076d23bed3bfbd35ce3.zip
Fixed that validates_size_of :within works in associations (closes #11295, #10019) [cavalle]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9129 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/lib/active_record')
-rwxr-xr-xactiverecord/lib/active_record/validations.rb12
1 files changed, 5 insertions, 7 deletions
diff --git a/activerecord/lib/active_record/validations.rb b/activerecord/lib/active_record/validations.rb
index 7775cf93c5..c321464335 100755
--- a/activerecord/lib/active_record/validations.rb
+++ b/activerecord/lib/active_record/validations.rb
@@ -553,9 +553,10 @@ module ActiveRecord
too_long = options[:too_long] % option_value.end
validates_each(attrs, options) do |record, attr, value|
- if value.nil? or value.split(//).size < option_value.begin
+ value = value.split(//) if value.kind_of?(String)
+ if value.nil? or value.size < option_value.begin
record.errors.add(attr, too_short)
- elsif value.split(//).size > option_value.end
+ elsif value.size > option_value.end
record.errors.add(attr, too_long)
end
end
@@ -569,11 +570,8 @@ module ActiveRecord
message = (options[:message] || options[message_options[option]]) % option_value
validates_each(attrs, options) do |record, attr, value|
- if value.kind_of?(String)
- record.errors.add(attr, message) unless !value.nil? and value.split(//).size.method(validity_checks[option])[option_value]
- else
- record.errors.add(attr, message) unless !value.nil? and value.size.method(validity_checks[option])[option_value]
- end
+ value = value.split(//) if value.kind_of?(String)
+ record.errors.add(attr, message) unless !value.nil? and value.size.method(validity_checks[option])[option_value]
end
end
end