diff options
author | José Valim <jose.valim@gmail.com> | 2009-12-23 01:08:27 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2009-12-23 01:08:27 +0100 |
commit | 977a5c43b160d8aa8d1b87bb0feb54db85fe203c (patch) | |
tree | 41b6e8649aaad96e55ea62ddd6f3053df6da20f1 /activemodel/lib/active_model/validations/exclusion.rb | |
parent | f1085f41287687835659fa23079080204fe32e96 (diff) | |
download | rails-977a5c43b160d8aa8d1b87bb0feb54db85fe203c.tar.gz rails-977a5c43b160d8aa8d1b87bb0feb54db85fe203c.tar.bz2 rails-977a5c43b160d8aa8d1b87bb0feb54db85fe203c.zip |
Added check_validity! to EachValidator and refactor existing ones.
Diffstat (limited to 'activemodel/lib/active_model/validations/exclusion.rb')
-rw-r--r-- | activemodel/lib/active_model/validations/exclusion.rb | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/activemodel/lib/active_model/validations/exclusion.rb b/activemodel/lib/active_model/validations/exclusion.rb index 209b1c76f9..f8759f253b 100644 --- a/activemodel/lib/active_model/validations/exclusion.rb +++ b/activemodel/lib/active_model/validations/exclusion.rb @@ -1,6 +1,11 @@ module ActiveModel module Validations class ExclusionValidator < EachValidator + def check_validity! + raise ArgumentError, "An object with the method include? is required must be supplied as the " << + ":in option of the configuration hash" unless options[:in].respond_to?(:include?) + end + def validate_each(record, attribute, value) return unless options[:in].include?(value) record.errors.add(attribute, :exclusion, :default => options[:message], :value => value) @@ -30,10 +35,6 @@ module ActiveModel def validates_exclusion_of(*attr_names) options = attr_names.extract_options! options[:in] ||= options.delete(:within) - - raise ArgumentError, "An object with the method include? is required must be supplied as the " << - ":in option of the configuration hash" unless options[:in].respond_to?(:include?) - validates_with ExclusionValidator, options.merge(:attributes => attr_names) end end |