diff options
author | Mikel Lindsaar <raasdnil@gmail.com> | 2010-01-19 19:41:15 +1100 |
---|---|---|
committer | Mikel Lindsaar <raasdnil@gmail.com> | 2010-01-19 19:41:15 +1100 |
commit | eaae58ce0c79aa5b4d6de16e2e67034b7fd971bb (patch) | |
tree | d2d3fc90f977020d4e389f526f7ce494a23c3e69 /activemodel/lib | |
parent | c5acbcbb0f72b9968decd702041dcb5b72574a28 (diff) | |
parent | c71120e29caddda295c133adfb279870733a3f81 (diff) | |
download | rails-eaae58ce0c79aa5b4d6de16e2e67034b7fd971bb.tar.gz rails-eaae58ce0c79aa5b4d6de16e2e67034b7fd971bb.tar.bz2 rails-eaae58ce0c79aa5b4d6de16e2e67034b7fd971bb.zip |
Merge branch 'master' of github.com:lifo/docrails
Diffstat (limited to 'activemodel/lib')
-rw-r--r-- | activemodel/lib/active_model/errors.rb | 2 | ||||
-rw-r--r-- | activemodel/lib/active_model/validations/validates.rb | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/activemodel/lib/active_model/errors.rb b/activemodel/lib/active_model/errors.rb index 93935c0473..76e6ad93a7 100644 --- a/activemodel/lib/active_model/errors.rb +++ b/activemodel/lib/active_model/errors.rb @@ -169,9 +169,11 @@ module ActiveModel # If no +messsage+ is supplied, :invalid is assumed. # # If +message+ is a Symbol, it will be translated, using the appropriate scope (see translate_error). + # If +message+ is a Proc, it will be called, allowing for things like Time.now to be used within an error def add(attribute, message = nil, options = {}) message ||= :invalid message = generate_message(attribute, message, options) if message.is_a?(Symbol) + message = message.call if message.is_a?(Proc) self[attribute] << message end diff --git a/activemodel/lib/active_model/validations/validates.rb b/activemodel/lib/active_model/validations/validates.rb index 4c82a993ae..90b244228a 100644 --- a/activemodel/lib/active_model/validations/validates.rb +++ b/activemodel/lib/active_model/validations/validates.rb @@ -1,3 +1,5 @@ +require 'active_support/core_ext/hash/slice' + module ActiveModel module Validations module ClassMethods |