class Faker::IDNumber

Constants

CHECKS
INVALID_SSN

Public Class Methods

invalid() click to toggle source
# File lib/faker/id_number.rb, line 17
def invalid
  _translate('invalid')
end
spanish_citizen_number() click to toggle source
# File lib/faker/id_number.rb, line 27
def spanish_citizen_number
  num = Faker::Number.number(8)
  mod = num.to_i % 23
  check = CHECKS[mod]
  "#{num}-#{check}"
end
spanish_foreign_citizen_number() click to toggle source
# File lib/faker/id_number.rb, line 34
def spanish_foreign_citizen_number
  code = 'XYZ'
  digits = Faker::Number.number(7)
  prefix = code[rand(code.length)]
  prefix_val = 'XYZ'.index(prefix).to_s
  mod = "#{prefix_val}#{digits}".to_i % 23
  check = CHECKS[mod]
  "#{prefix}-#{digits}-#{check}"
end
ssn_valid() click to toggle source
# File lib/faker/id_number.rb, line 21
def ssn_valid
  ssn = regexify(/[0-8]\d{2}-\d{2}-\d{4}/)
  # We could still have all 0s in one segment or another
  INVALID_SSN.any? { |regex| regex =~ ssn } ? ssn_valid : ssn
end
valid() click to toggle source
# File lib/faker/id_number.rb, line 13
def valid
  _translate('valid')
end

Private Class Methods

_translate(key) click to toggle source
# File lib/faker/id_number.rb, line 46
def _translate(key)
  parse("id_number.#{key}")
end