class ValidDateRangeValidator
Public Instance Methods
validate_each(record, attribute, value)
click to toggle source
# File lib/sift/validators/valid_date_range_validator.rb, line 2 def validate_each(record, attribute, value) record.errors.add attribute, "is invalid" unless valid_date_range?(value) end
Private Instance Methods
valid_date?(date)
click to toggle source
# File lib/sift/validators/valid_date_range_validator.rb, line 15 def valid_date?(date) !!DateTime.parse(date.to_s) rescue ArgumentError false end
valid_date_range?(date_range)
click to toggle source
# File lib/sift/validators/valid_date_range_validator.rb, line 8 def valid_date_range?(date_range) from_date_string, end_date_string = date_range.to_s.split("...") return true unless end_date_string # validated by other validator [from_date_string, end_date_string].all? { |date| valid_date?(date) } end