From 423d60f885d6a45d479a454dc2beabc8d485af65 Mon Sep 17 00:00:00 2001 From: Adam Meehan Date: Fri, 17 Sep 2010 10:56:13 +1000 Subject: [PATCH] use inheritable hash for valdiated attributes --- lib/validates_timeliness/helper_methods.rb | 4 ++-- spec/validates_timeliness/helper_methods_spec.rb | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/validates_timeliness/helper_methods.rb b/lib/validates_timeliness/helper_methods.rb index 4341052..58aec52 100644 --- a/lib/validates_timeliness/helper_methods.rb +++ b/lib/validates_timeliness/helper_methods.rb @@ -5,7 +5,7 @@ module ValidatesTimeliness included do include ValidationMethods extend ValidationMethods - class_inheritable_accessor :timeliness_validated_attributes + class_inheritable_hash :timeliness_validated_attributes self.timeliness_validated_attributes = {} end @@ -17,7 +17,7 @@ module ValidatesTimeliness validated[attr_name] = options[:type] validated } - timeliness_validated_attributes.update(attributes) + self.timeliness_validated_attributes = attributes validates_with Validator, options end diff --git a/spec/validates_timeliness/helper_methods_spec.rb b/spec/validates_timeliness/helper_methods_spec.rb index 10ba504..dd77692 100644 --- a/spec/validates_timeliness/helper_methods_spec.rb +++ b/spec/validates_timeliness/helper_methods_spec.rb @@ -21,8 +21,16 @@ describe ValidatesTimeliness::HelperMethods do describe ".timeliness_validated_attributes" do it 'should return attributes validated with plugin validator' do + Person.timeliness_validated_attributes = {} Person.validates_date :birth_date - Person.timeliness_validated_attributes.should == {"birth_date" => :date} + Person.validates_time :birth_time + Person.validates_datetime :birth_datetime + + Person.timeliness_validated_attributes.should == { + "birth_date" => :date, + "birth_time" => :time, + "birth_datetime" => :datetime + } end end end