aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib
diff options
context:
space:
mode:
authorCarl Lerche <me@carllerche.com>2011-02-05 16:00:57 -0800
committerCarl Lerche <me@carllerche.com>2011-02-05 16:00:57 -0800
commited7614aa7de2eaeba16c9af11cf09b4fd7ed6819 (patch)
treea3556b1e7add54b9463edfaa40037a8385308063 /activemodel/lib
parent7176ade35b4d6b167873991e0851f3fb9d46ae3b (diff)
downloadrails-ed7614aa7de2eaeba16c9af11cf09b4fd7ed6819.tar.gz
rails-ed7614aa7de2eaeba16c9af11cf09b4fd7ed6819.tar.bz2
rails-ed7614aa7de2eaeba16c9af11cf09b4fd7ed6819.zip
Provide a way to specify alternate option keys for validates
Diffstat (limited to 'activemodel/lib')
-rw-r--r--activemodel/lib/active_model/validations/validates.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/activemodel/lib/active_model/validations/validates.rb b/activemodel/lib/active_model/validations/validates.rb
index 172ca70c19..7ff42de00b 100644
--- a/activemodel/lib/active_model/validations/validates.rb
+++ b/activemodel/lib/active_model/validations/validates.rb
@@ -81,7 +81,7 @@ module ActiveModel
#
def validates(*attributes)
defaults = attributes.extract_options!
- validations = defaults.slice!(:if, :unless, :on, :allow_blank, :allow_nil)
+ validations = defaults.slice!(*_validates_default_keys)
raise ArgumentError, "You need to supply at least one attribute" if attributes.empty?
raise ArgumentError, "You need to supply at least one validation" if validations.empty?
@@ -103,6 +103,12 @@ module ActiveModel
protected
+ # When creating custom validators, it might be useful to be able to specify
+ # additional default keys. This can be done by overwriting this method.
+ def _validates_default_keys
+ [ :if, :unless, :on, :allow_blank, :allow_nil ]
+ end
+
def _parse_validates_options(options) #:nodoc:
case options
when TrueClass