class IdPlease::ES::Validator

Constants

DNI_alphabet
REGEX

Public Instance Methods

check(id) click to toggle source
# File lib/id-please/countries/es.rb, line 12
def check id
  REGEX.each do |k, v|
    return send("validate_#{k}", id.upcase) unless id.upcase.match(v).nil?
  end

  raise "Invalid ID"
end
validate_cif(id) click to toggle source
# File lib/id-please/countries/es.rb, line 28
def validate_cif id #TODO
  raise "TODO"
end
validate_dni(id) click to toggle source
# File lib/id-please/countries/es.rb, line 20
def validate_dni id
  DNI_alphabet[id[0..7].to_i % 23] == id[8]
end
validate_nie(id) click to toggle source
# File lib/id-please/countries/es.rb, line 24
def validate_nie id
  validate_dni("#{'XYZ'.index(id[0])}#{id[1..8]}")
end