refactored error value formats to use locale file for I18n. Rail 2.0/2.1 to use default_error_value_formats now.

moved default_error_messages_method into validator
This commit is contained in:
Adam Meehan
2009-03-28 18:49:26 +11:00
parent a836ed8434
commit 7967b5a212
6 changed files with 58 additions and 28 deletions

View File

@@ -34,20 +34,14 @@ module ValidatesTimeliness
I18n.load_path += [ LOCALE_PATH ]
I18n.reload!
else
messages = YAML::load(IO.read(LOCALE_PATH))
errors = messages['en']['activerecord']['errors']['messages'].inject({}) {|h,(k,v)| h[k.to_sym] = v.gsub(/\{\{\w*\}\}/, '%s');h }
defaults = YAML::load(IO.read(LOCALE_PATH))['en']
errors = defaults['activerecord']['errors']['messages'].inject({}) {|h,(k,v)| h[k.to_sym] = v.gsub(/\{\{\w*\}\}/, '%s');h }
::ActiveRecord::Errors.default_error_messages.update(errors)
ValidatesTimeliness::Validator.default_error_value_formats = defaults['validates_timeliness']['error_value_formats'].symbolize_keys
end
end
def default_error_messages
if Rails::VERSION::STRING < '2.2'
::ActiveRecord::Errors.default_error_messages
else
I18n.translate('activerecord.errors.messages')
end
end
def setup_for_rails
self.default_timezone = ::ActiveRecord::Base.default_timezone
self.use_time_zones = ::ActiveRecord::Base.time_zone_aware_attributes rescue false