diff options
author | Joshua Peek <josh@joshpeek.com> | 2009-06-17 20:19:21 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2009-06-17 21:27:54 -0500 |
commit | d5d59230f4d8f0457fc793446a3dbcdce0057a78 (patch) | |
tree | e3a6ce7cd8ca3f7583fd62b284485d0752477c60 /activemodel/lib | |
parent | b4a91db441fa9583df24fb8d3cf0d6906e8359db (diff) | |
download | rails-d5d59230f4d8f0457fc793446a3dbcdce0057a78.tar.gz rails-d5d59230f4d8f0457fc793446a3dbcdce0057a78.tar.bz2 rails-d5d59230f4d8f0457fc793446a3dbcdce0057a78.zip |
Simplify AMo validation attribute reader
Diffstat (limited to 'activemodel/lib')
-rw-r--r-- | activemodel/lib/active_model/errors.rb | 6 | ||||
-rw-r--r-- | activemodel/lib/active_model/validations.rb | 6 |
2 files changed, 4 insertions, 8 deletions
diff --git a/activemodel/lib/active_model/errors.rb b/activemodel/lib/active_model/errors.rb index 2e643f108f..a4cf700231 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.get_attribute_value(attribute) + value = @base.send(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.get_attribute_value(attribute) + value = @base.send(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.get_attribute_value(attribute) + value = @base.send(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 6b6f51d942..5223cea135 100644 --- a/activemodel/lib/active_model/validations.rb +++ b/activemodel/lib/active_model/validations.rb @@ -64,7 +64,7 @@ module ActiveModel # Declare the validation. send(validation_method(options[:on]), options) do |record| attrs.each do |attr| - value = record.get_attribute_value(attr) + value = record.send(attr) next if (value.nil? && options[:allow_nil]) || (value.blank? && options[:allow_blank]) yield record, attr, value end @@ -93,10 +93,6 @@ module ActiveModel def invalid? !valid? end - - def get_attribute_value(attribute) - respond_to?(attribute.to_sym) ? send(attribute.to_sym) : instance_variable_get(:"@#{attribute}") - end end end |