51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/validators/date_validator.rb', line 51
def validate_before_option(record, attribute, value, original_value)
date, value = date_for(record, value, options[:before])
return true unless date.present?
return true if value.present? && date.present? && (value && date && value <= date)
before_message = ": #{original_value} is not a valid value."
if options[:before] == :now || options[:before] == :today
before_message << " Date cannot be in the future"
elsif options[:before].respond_to?(:strftime)
before_message << " Date cannot be after #{options[:before]}"
elsif options[:before].is_a? Proc
before_message << " Date cannot be after #{options[:before].call(record)}"
elsif record.respond_to?(options[:before])
before_message << " Date cannot be after #{options[:before]}"
end
before_message
end
|