class Faker::Code

def nric(min_age: 18, max_age: 65)

Returns:
  • (String) -

Parameters:
  • max_age (Integer) -- the max age of the person in years
  • min_age (Integer) -- the min age of the person in years
def nric(min_age: 18, max_age: 65)
  birthyear = Date.birthday(min_age: min_age, max_age: max_age).year
  generate(:string) do |g|
    g.computed(name: :prefix) do
      if birthyear < 2000
        'S'
      else
        'T'
      end
    end
    g.computed(name: :yy) do
      birthyear.to_s[-2..]
    end
    g.int(name: :values, length: 5)
    g.computed(name: :check, deps: %i[prefix yy values]) do |prefix, yy, values|
      generate_nric_check_alphabet("#{yy}#{values}", prefix)
    end
  end
end