class CzFaker::Person

Public Class Methods

birth_number(date = nil, gender = :male, slash = true) click to toggle source
# File lib/cz_faker/person.rb, line 14
def birth_number(date = nil, gender = :male, slash = true)
  if date
    date_part = ::Date.parse(date.to_s).strftime("%y%m%d")
  else
    date_part = ::Date.parse(Date.numbers).strftime("%y%m%d")
    "#{Number.integer(6)}/#{Number.integer(4)}"
  end
  if gender == :female
    date_part[2] = (date_part[2].to_i + 5).to_s
  end
  count = rand(989).to_s.rjust(3, "0")
  while (check = eleven_checksum(date_part + count)) == "10"
    count = rand(989).to_s.rjust(3, "0")
  end
  "#{date_part}#{slash ? '/' : ''}#{count}#{check}"
end
drivers_license() click to toggle source
# File lib/cz_faker/person.rb, line 53
def drivers_license
  Number.integer(10)
end
education() click to toggle source
# File lib/cz_faker/person.rb, line 49
def education
  CzFaker::Data::EDUCATIONS.sample
end
gender() click to toggle source
# File lib/cz_faker/person.rb, line 6
def gender
  CzFaker::Data::GENDERS.sample
end
height() click to toggle source
# File lib/cz_faker/person.rb, line 41
def height
  "180"
end
id_number() click to toggle source
# File lib/cz_faker/person.rb, line 57
def id_number
  Number.integer(10)
end
marital_status(gender = :random) click to toggle source
# File lib/cz_faker/person.rb, line 35
def marital_status(gender = :random)
  gender = CzFaker::Data::GENDER_SYMBOLS.sample if gender == :random
  return CzFaker::Data::MARITIAL_STATUSES[:male].sample if gender == :male
  return CzFaker::Data::MARITIAL_STATUSES[:female].sample if gender == :female
end
race() click to toggle source
# File lib/cz_faker/person.rb, line 31
def race
  "x"
end
religion() click to toggle source
# File lib/cz_faker/person.rb, line 61
def religion
  load_person['religions'].sample
end
sex() click to toggle source
# File lib/cz_faker/person.rb, line 10
def sex
  gender
end
weight() click to toggle source
# File lib/cz_faker/person.rb, line 45
def weight
  "80"
end

Private Class Methods

eleven_checksum(number) click to toggle source
# File lib/cz_faker/person.rb, line 67
def eleven_checksum(number)
  sum = 0
  number.split('').each_slice(2) do |odd, even|
    sum += even.to_i - odd.to_i
  end
  ((11 - (sum % 11)) % 11).to_s
end
load_person() click to toggle source
# File lib/cz_faker/person.rb, line 75
def load_person
  @person ||= sample_data('person')
  @person
end