class HealthcarePhony::PersonName
Public: Randomly generates a patient name.
Attributes
degree[RW]
degree_data_file[RW]
family_name[RW]
given_name[RW]
middle_name[RW]
prefix[RW]
set_blank[RW]
Private: Boolean set during initialization if Address
components should be set to blank.
suffix[RW]
Public Class Methods
new(init_args = {})
click to toggle source
Public: Initializes an Address
. Pass in hash of different parameters, currently this includes: blank - An integer representing the % of times PatientName components should be blank. gender - A Gender
object which will be used to generate a Male or Female name if specified. degree_data_file
- Location of YAML file containing a list of potential degrees to choose from. By default the gem supplied file will be used. The default file degree.yml.
# File lib/healthcare_phony/person_name.rb, line 18 def initialize(init_args = {}) @set_blank = !init_args[:blank].nil? && Helper.random_with_blank('X', init_args[:blank]) == '' @gender = init_args[:gender] @degree_data_file = get_degree_data_file(init_args) @given_name = (init_args[:given_name_append].nil? ? '' : init_args[:given_name_append]) + define_given_name @family_name = (init_args[:family_name_append].nil? ? '' : init_args[:family_name_append]) + define_family_name @middle_name = define_middle_name @suffix = define_suffix @prefix = define_prefix @degree = define_degree(init_args) end
Private Instance Methods
define_degree(init_args = {})
click to toggle source
# File lib/healthcare_phony/person_name.rb, line 88 def define_degree(init_args = {}) if @set_blank '' elsif !init_args[:degree].nil? degree_choices = Helper.get_array(init_args[:degree]) degree_choices.sample unless degree_choices.empty? else degrees_from_file end end
define_family_name()
click to toggle source
# File lib/healthcare_phony/person_name.rb, line 56 def define_family_name if @set_blank '' else Faker::Name.last_name end end
define_given_name()
click to toggle source
# File lib/healthcare_phony/person_name.rb, line 44 def define_given_name if @set_blank '' elsif !@gender.nil? && @gender.code == 'M' Faker::Name.male_first_name elsif !@gender.nil? && @gender.code == 'F' Faker::Name.female_first_name else Faker::Name.first_name end end
define_middle_name()
click to toggle source
# File lib/healthcare_phony/person_name.rb, line 64 def define_middle_name if @set_blank '' else Faker::Name.middle_name end end
define_prefix()
click to toggle source
# File lib/healthcare_phony/person_name.rb, line 80 def define_prefix if @set_blank '' else Faker::Name.prefix end end
define_suffix()
click to toggle source
# File lib/healthcare_phony/person_name.rb, line 72 def define_suffix if @set_blank '' else Faker::Name.suffix end end
degrees_from_file()
click to toggle source
# File lib/healthcare_phony/person_name.rb, line 99 def degrees_from_file degrees = Psych.load_file(@degree_data_file) degrees.nil? ? '' : degrees.sample end
get_degree_data_file(init_args = {})
click to toggle source
# File lib/healthcare_phony/person_name.rb, line 36 def get_degree_data_file(init_args = {}) if !init_args[:degree_data_file].nil? init_args[:degree_data_file] else "#{::File.expand_path(::File.join("..", "data_files"), __FILE__)}/degree.yml" end end