class Validation::Rule::Birthday

Birthday validation rule

Valid is:

Public Instance Methods

error_key() click to toggle source

The error key for this rule @return [Symbol] error key

# File lib/diaspora_federation/validators/rules/birthday.rb, line 16
def error_key
  :birthday
end
params() click to toggle source

This rule has no params. @return [Hash] params

# File lib/diaspora_federation/validators/rules/birthday.rb, line 35
def params
  {}
end
valid_value?(value) click to toggle source

Determines if value is a valid birthday date.

# File lib/diaspora_federation/validators/rules/birthday.rb, line 21
def valid_value?(value)
  return true if value.nil? || (value.is_a?(String) && value.empty?)
  return true if value.is_a? Date

  if value.is_a?(String) && value.match?(/[0-9]{4}-[0-9]{2}-[0-9]{2}/)
    date_field = value.split("-").map(&:to_i)
    return Date.valid_civil?(date_field[0], date_field[1], date_field[2])
  end

  false
end