From 2756d21abda920b8f17275359d98228b5157358e Mon Sep 17 00:00:00 2001 From: Adam Meehan Date: Sat, 9 Oct 2010 16:44:19 +1100 Subject: [PATCH] added railtie and moved in some config defaults for Rails and AR --- lib/validates_timeliness.rb | 7 ++++--- lib/validates_timeliness/railtie.rb | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 lib/validates_timeliness/railtie.rb diff --git a/lib/validates_timeliness.rb b/lib/validates_timeliness.rb index 6348e07..aae4478 100644 --- a/lib/validates_timeliness.rb +++ b/lib/validates_timeliness.rb @@ -14,7 +14,7 @@ module ValidatesTimeliness # Extend ORM/ODMs for full support (:active_record, :mongoid). mattr_accessor :extend_orms - @@extend_orms = [ defined?(ActiveRecord) && :active_record ].compact + @@extend_orms = [] # User the plugin date/time parser which is stricter and extendable mattr_accessor :use_plugin_parser @@ -22,7 +22,7 @@ module ValidatesTimeliness # Default timezone mattr_accessor :default_timezone - @@default_timezone = defined?(ActiveRecord) ? ActiveRecord::Base.default_timezone : :utc + @@default_timezone = :utc # Set the dummy date part for a time type values. mattr_accessor :dummy_date_for_time_type @@ -30,7 +30,7 @@ module ValidatesTimeliness # Ignore errors when restriction options are evaluated mattr_accessor :ignore_restriction_errors - @@ignore_restriction_errors = defined?(Rails) ? !Rails.env.test? : false + @@ignore_restriction_errors = false # Shorthand time and date symbols for restrictions mattr_accessor :restriction_shorthand_symbols @@ -55,3 +55,4 @@ require 'validates_timeliness/validator' require 'validates_timeliness/helper_methods' require 'validates_timeliness/attribute_methods' require 'validates_timeliness/extensions' +require 'validates_timeliness/railtie' if defined?(Rails) diff --git a/lib/validates_timeliness/railtie.rb b/lib/validates_timeliness/railtie.rb new file mode 100644 index 0000000..6b4bb26 --- /dev/null +++ b/lib/validates_timeliness/railtie.rb @@ -0,0 +1,14 @@ +module ValidatesTimeliness + class Railtie < Rails::Railtie + initializer "validates_timeliness.initialize_active_record", :after => 'active_record.initialize_timezone' do + ActiveSupport.on_load(:active_record) do + ValidatesTimeliness.default_timezone = ActiveRecord::Base.default_timezone + ValidatesTimeliness.extend_orms = [ :active_record ] + end + end + + initializer "validates_timeliness.initialize_restriction_errors" do + ValidatesTimeliness.ignore_restriction_errors = !Rails.env.test? + end + end +end