diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2009-08-05 17:09:56 -0700 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2009-08-05 17:09:56 -0700 |
commit | 7f717abb0ed280ba1a1f8abfeeff84bf24cad3e7 (patch) | |
tree | 7f8ac20c20cae72f03afbcfe7f476f9776c60146 | |
parent | 230d43fbf5dee569ea031c8c394ba9ce70804cae (diff) | |
parent | 5ce3831faf684aea75948ce4602b6b9de361c11e (diff) | |
download | rails-7f717abb0ed280ba1a1f8abfeeff84bf24cad3e7.tar.gz rails-7f717abb0ed280ba1a1f8abfeeff84bf24cad3e7.tar.bz2 rails-7f717abb0ed280ba1a1f8abfeeff84bf24cad3e7.zip |
Merge branch 'master' of git@github.com:rails/rails
-rw-r--r-- | activemodel/lib/active_model/errors.rb | 6 | ||||
-rw-r--r-- | activemodel/lib/active_model/validations.rb | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/activemodel/lib/active_model/errors.rb b/activemodel/lib/active_model/errors.rb index a47d89ac0e..7a3001174f 100644 --- a/activemodel/lib/active_model/errors.rb +++ b/activemodel/lib/active_model/errors.rb @@ -68,7 +68,7 @@ module ActiveModel # Will add an error message to each of the attributes in +attributes+ that is empty. def add_on_empty(attributes, custom_message = nil) [attributes].flatten.each do |attribute| - value = @base.instance_eval { read_attribute_for_validation(attribute) } + value = @base.send(:read_attribute_for_validation, attribute) is_empty = value.respond_to?(:empty?) ? value.empty? : false add(attribute, :empty, :default => custom_message) unless !value.nil? && !is_empty end @@ -77,7 +77,7 @@ module ActiveModel # Will add an error message to each of the attributes in +attributes+ that is blank (using Object#blank?). def add_on_blank(attributes, custom_message = nil) [attributes].flatten.each do |attribute| - value = @base.instance_eval { read_attribute_for_validation(attribute) } + value = @base.send(:read_attribute_for_validation, attribute) add(attribute, :blank, :default => custom_message) if value.blank? end end @@ -146,7 +146,7 @@ module ActiveModel defaults = defaults.compact.flatten << :"messages.#{message}" key = defaults.shift - value = @base.instance_eval { read_attribute_for_validation(attribute) } + value = @base.send(:read_attribute_for_validation, attribute) options = { :default => defaults, :model => @base.class.name.humanize, diff --git a/activemodel/lib/active_model/validations.rb b/activemodel/lib/active_model/validations.rb index 0fca96e5cc..7d49e60790 100644 --- a/activemodel/lib/active_model/validations.rb +++ b/activemodel/lib/active_model/validations.rb @@ -66,7 +66,7 @@ module ActiveModel # Declare the validation. send(validation_method(options[:on]), options) do |record| attrs.each do |attr| - value = record.instance_eval { read_attribute_for_validation(attr) } + value = record.send(:read_attribute_for_validation, attr) next if (value.nil? && options[:allow_nil]) || (value.blank? && options[:allow_blank]) yield record, attr, value end |