use global error value formats if missing in locale

always loads globals value formats into class accessor
replace old format accessor methods class accessor
This commit is contained in:
Adam Meehan
2009-12-11 11:06:21 +11:00
parent c580c3e682
commit a6712de5ff
3 changed files with 39 additions and 24 deletions

View File

@@ -8,9 +8,9 @@ require 'validates_timeliness/active_record/multiparameter_attributes'
require 'validates_timeliness/action_view/instance_tag'
module ValidatesTimeliness
mattr_accessor :default_timezone
self.default_timezone = :utc
self.default_timezone = :utc
mattr_accessor :use_time_zones
self.use_time_zones = false
@@ -25,18 +25,18 @@ module ValidatesTimeliness
end
def load_error_messages
defaults = YAML::load(IO.read(LOCALE_PATH))['en']
ValidatesTimeliness::Validator.error_value_formats = defaults['validates_timeliness']['error_value_formats'].symbolize_keys
if defined?(I18n)
I18n.load_path.unshift(LOCALE_PATH)
I18n.reload!
else
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.error_value_formats = defaults['validates_timeliness']['error_value_formats'].symbolize_keys
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