Class: Synthra::Types::PersonalNames::FirstNameFemale

Inherits:
Base
  • Object
show all
Defined in:
lib/synthra/types/personal_names/names.rb

Overview

FirstNameFemale type

Constant Summary collapse

FALLBACK_NAMES =
[
  "Emma", "Olivia", "Sophia", "Isabella", "Charlotte",
  "Amelia", "Mia", "Harper", "Evelyn", "Abigail"
].freeze

Instance Method Summary collapse

Instance Method Details

#generate_edge(rng, context, args) ⇒ Object



176
177
178
# File 'lib/synthra/types/personal_names/names.rb', line 176

def generate_edge(rng, context, args)
  ["", "A", "Very Long Female FirstName"].sample(random: rng.instance_variable_get(:@random))
end

#generate_invalid(rng, context, args) ⇒ Object



180
181
182
# File 'lib/synthra/types/personal_names/names.rb', line 180

def generate_invalid(rng, context, args)
  [nil, 123, [], {}].sample(random: rng.instance_variable_get(:@random))
end

#generate_random(rng, context, args) ⇒ Object



162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/synthra/types/personal_names/names.rb', line 162

def generate_random(rng, context, args)
  adapter = faker_adapter(context)
  if adapter && adapter.respond_to?(:female_first_name)
    adapter.female_first_name

  else
    Faker::Name.female_first_name
  end

rescue StandardError
  rng.sample(FALLBACK_NAMES)
end