class FauxData::PersonGenerator
Public Class Methods
new()
click to toggle source
# File lib/faux_data/person_generator.rb, line 12 def initialize @name = PersonalNameGenerator.new @address = AddressGenerator.new @national_id = NationalIdGenerator.new(:county_code => 'us') @max_age_in_days = (365.2524 * 100).to_i end
Public Instance Methods
person()
click to toggle source
# File lib/faux_data/person_generator.rb, line 19 def person sex = pick_sex() address = @address.address person = address.merge({ :sex => sex, :surname => @name.surname, :first_name => sex == :male ? @name.given_name_male : @name.given_name_female, :middle_name => sex == :male ? @name.given_name_male : @name.given_name_female, :ssn => @national_id.national_id, :date_of_birth => Date.today - (rand(@max_age_in_days)) }) person[:email] = "#{person[:first_name].strip.downcase}.#{person[:surname].strip.downcase}@" + pick_email_domain() return person end
Private Instance Methods
pick_email_domain()
click to toggle source
# File lib/faux_data/person_generator.rb, line 41 def pick_email_domain return %w[ example.com example.net example.org].choice end
pick_sex()
click to toggle source
# File lib/faux_data/person_generator.rb, line 37 def pick_sex return [:male, :female].choice end