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