From 710ed92721865929e5374e2c4a898646f4dd5540 Mon Sep 17 00:00:00 2001 From: Adam Meehan Date: Fri, 11 Jul 2008 17:41:50 +1000 Subject: [PATCH] fixed matcher messages and refactored --- .../validate_timeliness_matcher.rb | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/lib/validates_timeliness/validate_timeliness_matcher.rb b/lib/validates_timeliness/validate_timeliness_matcher.rb index 013d925..da67c8d 100644 --- a/lib/validates_timeliness/validate_timeliness_matcher.rb +++ b/lib/validates_timeliness/validate_timeliness_matcher.rb @@ -4,9 +4,7 @@ module Spec class ValidateTimeliness def initialize(attribute, options) @expected, @options = attribute, options - messages = ActiveRecord::Base.send(:timeliness_default_error_messages) - messages - @options.reverse_merge!(messages) + @options.reverse_merge!(error_messages) end def error_messages @@ -21,33 +19,28 @@ module Spec valid = error_matching('2008-02-30', /#{options[:invalid_date_message]}/) && error_matching('2008-01-01 25:00:00', /#{options[:invalid_date_message]}/) && no_error_matching('2008-01-01 12:12:12', /#{options[:invalid_date_message]}/) - return false unless valid - - if after = options[:after] + + if valid && after = options[:after] valid = error_matching(after, /#{options[:after_message]}/) && no_error_matching(after + 1, /#{options[:after_message]}/) end - return false unless valid - if before = options[:before] + if valid && before = options[:before] valid = error_matching(before, /#{options[:after_message]}/) && no_error_matching(before - 1, /#{options[:after_message]}/) end - return false unless valid - if on_or_after = options[:on_or_after] + if valid && on_or_after = options[:on_or_after] valid = error_matching(on_or_after -1, /#{options[:on_or_after_message]}/) && no_error_matching(on_or_after, /#{options[:on_or_after_message]}/) end - return false unless valid - if on_or_before = options[:on_or_before] + if valid && on_or_before = options[:on_or_before] valid = error_matching(on_or_before + 1, /#{options[:on_or_before_message]}/) && no_error_matching(on_or_before, /#{options[:on_or_before_message]}/) end - return false unless valid - return true + return valid end def failure_message