aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib/active_model/validations/with.rb
diff options
context:
space:
mode:
authorCarl Lerche <me@carllerche.com>2011-02-05 16:33:00 -0800
committerCarl Lerche <me@carllerche.com>2011-02-05 16:33:00 -0800
commite9e9ed6b60a42a7c3afe3c4a9f8cf6d1e5422e59 (patch)
treee9d45b2dd7c00979fcc5bd36ce430ac5406c3bb0 /activemodel/lib/active_model/validations/with.rb
parented7614aa7de2eaeba16c9af11cf09b4fd7ed6819 (diff)
downloadrails-e9e9ed6b60a42a7c3afe3c4a9f8cf6d1e5422e59.tar.gz
rails-e9e9ed6b60a42a7c3afe3c4a9f8cf6d1e5422e59.tar.bz2
rails-e9e9ed6b60a42a7c3afe3c4a9f8cf6d1e5422e59.zip
Be able to pass a validator method to #validates
Diffstat (limited to 'activemodel/lib/active_model/validations/with.rb')
-rw-r--r--activemodel/lib/active_model/validations/with.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/activemodel/lib/active_model/validations/with.rb b/activemodel/lib/active_model/validations/with.rb
index 200efd4eb5..16d81263a2 100644
--- a/activemodel/lib/active_model/validations/with.rb
+++ b/activemodel/lib/active_model/validations/with.rb
@@ -8,6 +8,12 @@ module ActiveModel
end
end
+ class WithValidator < EachValidator
+ def validate_each(record, attr, val)
+ record.send options[:with]
+ end
+ end
+
module ClassMethods
# Passes the record off to the class or classes specified and allows them
# to add errors based on more complex conditions.