Method: DateValidator#date_for

Defined in:
lib/validators/date_validator.rb

#date_for(record, value, option) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/validators/date_validator.rb', line 70

def date_for(record, value, option)
  date = case option
         when :today
           Date.today
         when :now
           Time.now + 60  # be lenient on now for server clocks
         when Time, Date, DateTime, ActiveSupport::TimeWithZone
           option
         when Proc
           option.call(record)
         else
           record.__send__(option) if record.respond_to?(option)
         end
  return unless date.present?
  if options[:time]
    return [date.to_time, value.to_time]
  else
    return [date.to_date, value.to_date]
  end
end