From c3f3edf32433382116655fb4abc34ac477458681 Mon Sep 17 00:00:00 2001 From: Adam Meehan Date: Sun, 8 Mar 2009 17:55:48 +1100 Subject: [PATCH] added enable method for multiparameter attribute handling of datetime which is enabled by default but will be off in version2 renamed enable action view extension method and enable both extensions in the one method as they are needed together --- lib/validates_timeliness.rb | 5 +++++ .../action_view/instance_tag.rb | 2 +- .../multiparameter_attributes.rb | 22 ++++++++++--------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/lib/validates_timeliness.rb b/lib/validates_timeliness.rb index cdea2fc..471db46 100644 --- a/lib/validates_timeliness.rb +++ b/lib/validates_timeliness.rb @@ -21,6 +21,11 @@ module ValidatesTimeliness class << self + def enable_datetime_select_extension! + enable_datetime_select_invalid_value_extension! + enable_multiparameter_attributes_extension! + end + def load_error_messages if defined?(I18n) I18n.load_path += [ LOCALE_PATH ] diff --git a/lib/validates_timeliness/action_view/instance_tag.rb b/lib/validates_timeliness/action_view/instance_tag.rb index 4d7965d..98529f8 100644 --- a/lib/validates_timeliness/action_view/instance_tag.rb +++ b/lib/validates_timeliness/action_view/instance_tag.rb @@ -1,6 +1,6 @@ module ValidatesTimeliness - def self.enable_datetime_select_extension! + def self.enable_datetime_select_invalid_value_extension! ::ActionView::Helpers::InstanceTag.send(:include, ValidatesTimeliness::ActionView::InstanceTag) end diff --git a/lib/validates_timeliness/active_record/multiparameter_attributes.rb b/lib/validates_timeliness/active_record/multiparameter_attributes.rb index c8b3be3..68de263 100644 --- a/lib/validates_timeliness/active_record/multiparameter_attributes.rb +++ b/lib/validates_timeliness/active_record/multiparameter_attributes.rb @@ -1,6 +1,10 @@ module ValidatesTimeliness - module ActiveRecord + def self.enable_multiparameter_attributes_extension! + ::ActiveRecord::Base.send(:include, ValidatesTimeliness::ActiveRecord::MultiparameterAttributes) + end + + module ActiveRecord module MultiparameterAttributes def self.included(base) @@ -38,13 +42,13 @@ module ValidatesTimeliness values = values.map(&:to_s) case type - when :date - extract_date_from_multiparameter_attributes(values) - when :time - extract_time_from_multiparameter_attributes(values) - when :datetime - date_values, time_values = values.slice!(0, 3), values - extract_date_from_multiparameter_attributes(date_values) + " " + extract_time_from_multiparameter_attributes(time_values) + when :date + extract_date_from_multiparameter_attributes(values) + when :time + extract_time_from_multiparameter_attributes(values) + when :datetime + date_values, time_values = values.slice!(0, 3), values + extract_date_from_multiparameter_attributes(date_values) + " " + extract_time_from_multiparameter_attributes(time_values) end end @@ -60,5 +64,3 @@ module ValidatesTimeliness end end - -ActiveRecord::Base.send(:include, ValidatesTimeliness::ActiveRecord::MultiparameterAttributes)