aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2009-08-05 17:09:56 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2009-08-05 17:09:56 -0700
commit7f717abb0ed280ba1a1f8abfeeff84bf24cad3e7 (patch)
tree7f8ac20c20cae72f03afbcfe7f476f9776c60146
parent230d43fbf5dee569ea031c8c394ba9ce70804cae (diff)
parent5ce3831faf684aea75948ce4602b6b9de361c11e (diff)
downloadrails-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.rb6
-rw-r--r--activemodel/lib/active_model/validations.rb2
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