module FFaker::NamePL

def academic_degree_prefix

def academic_degree_prefix
  fetch_sample(ACADEMIC_DEGREE_PREFIXES)
end

def female_first_name

def female_first_name
  fetch_sample(FEMALE_FIRST_NAMES)
end

def female_full_name

def female_full_name
  "#{female_first_name} #{female_last_name}"
end

def female_last_name

def female_last_name
  fetch_sample(FEMALE_LAST_NAMES)
end

def female_name_with_prefix

def female_name_with_prefix
  "#{female_prefix} #{female_full_name}"
end

def female_prefix

def female_prefix
  fetch_sample(FEMALE_PREFIXES)
end

def first_name(gender = :random)

Acceptable gender values: :random, :female, :male
Generates a random first name for a given gender (random by default).
def first_name(gender = :random)
  name_for_gender(:first_name, gender)
end

def last_name(gender = :random)

Acceptable gender values: :random, :female, :male
Generates a random last name for a given gender (random by default).
def last_name(gender = :random)
  name_for_gender(:last_name, gender)
end

def male_first_name

def male_first_name
  fetch_sample(MALE_FIRST_NAMES)
end

def male_full_name

def male_full_name
  "#{male_first_name} #{male_last_name}"
end

def male_last_name

def male_last_name
  fetch_sample(MALE_LAST_NAMES)
end

def male_name_with_prefix

def male_name_with_prefix
  "#{male_prefix} #{male_full_name}"
end

def male_prefix

def male_prefix
  fetch_sample(MALE_PREFIXES)
end

def name(gender = :random)

Acceptable gender values: :random, :female, :male
Generates a random full name for a given gender (random by default).
def name(gender = :random)
  name_for_gender(:full_name, gender)
end

def name_for_gender(name_type, gender) # :nodoc:

:nodoc:
def name_for_gender(name_type, gender) # :nodoc:
  raise(ArgumentError, "Gender must be one of: #{GENDERS}") unless GENDERS.include?(gender)
  return send("#{gender}_#{name_type}") unless gender == :random
  fetch_sample([send("female_#{name_type}"), send("male_#{name_type}")])
end

def name_with_prefix(gender = :random)

def name_with_prefix(gender = :random)
  name_for_gender(:name_with_prefix, gender)
end

def prefix

def prefix
  fetch_sample(PREFIXES)
end