class WeakParameters::DateValidator

Private Instance Methods

error_message() click to toggle source
# File lib/weak_parameters/date_validator.rb, line 36
def error_message
  "params[#{key.inspect}] must be a valid Date"
end
parser_class() click to toggle source
# File lib/weak_parameters/date_validator.rb, line 5
def parser_class
  ::Date
end
strictly?(format = nil) click to toggle source
# File lib/weak_parameters/date_validator.rb, line 31
def strictly?(format = nil)
  result = format ? ::Date._strptime(value, format) : ::Date._strptime(value)
  result && !result.key?(:leftover)
end
valid_type?() click to toggle source
# File lib/weak_parameters/date_validator.rb, line 9
def valid_type?
  if options[:format]
    Array(options[:format]).any? do |format|
      begin
        parser_class.strptime(value, format)
        return false unless strictly?(format)
        true
      rescue ::ArgumentError
        false
      end
    end
  else
    begin
      parser_class.parse(value)
      return false unless strictly?
      true
    rescue ::ArgumentError
      false
    end
  end
end