Class: RandomPerson::Name

Inherits:
Object
  • Object
show all
Defined in:
lib/randomperson/name.rb

Direct Known Subclasses

RandomPerson::Names::AmericanFemaleFirst, RandomPerson::Names::AmericanLast, RandomPerson::Names::AmericanMaleFirst, RandomPerson::Names::AmericanPrefix, RandomPerson::Names::AmericanSuffix, RandomPerson::Names::AncientGreekFemaleFirst, RandomPerson::Names::AncientGreekLast, RandomPerson::Names::AncientGreekMaleFirst, RandomPerson::Names::AnyLast, RandomPerson::Names::BasqueFemaleFirst, RandomPerson::Names::BasqueLast, RandomPerson::Names::BasqueMaleFirst, RandomPerson::Names::BritishPrefix, RandomPerson::Names::BritishSuffix, RandomPerson::Names::EnglishFemaleFirst, RandomPerson::Names::EnglishLast, RandomPerson::Names::EnglishMaleFirst, RandomPerson::Names::EnglishPrefix, RandomPerson::Names::FinnishFemaleFirst, RandomPerson::Names::FinnishLast, RandomPerson::Names::FinnishMaleFirst, RandomPerson::Names::FinnishPrefix, RandomPerson::Names::FrenchFemaleFirst, RandomPerson::Names::FrenchLast, RandomPerson::Names::FrenchMaleFirst, RandomPerson::Names::GermanFemaleFirst, RandomPerson::Names::GermanLast, RandomPerson::Names::GermanMaleFirst, RandomPerson::Names::ScottishFemaleFirst, RandomPerson::Names::ScottishLast, RandomPerson::Names::ScottishMaleFirst, RandomPerson::Names::ScottishPrefix, RandomPerson::Names::SpanishFemaleFirst, RandomPerson::Names::SpanishLast, RandomPerson::Names::SpanishMaleFirst, RandomPerson::Names::SpanishPrefix, RandomPerson::Names::SwedishFemaleFirst, RandomPerson::Names::SwedishLast, RandomPerson::Names::SwedishMaleFirst, RandomPerson::Names::ThaiFemaleFirst, RandomPerson::Names::ThaiFirst, RandomPerson::Names::ThaiLast, RandomPerson::Names::ThaiMaleFirst, RandomPerson::Names::ThaiRomanisedFemaleFirst, RandomPerson::Names::ThaiRomanisedLast, RandomPerson::Names::ThaiRomanisedMaleFirst, RandomPerson::Names::WelshFemaleFirst, RandomPerson::Names::WelshLast, RandomPerson::Names::WelshMaleFirst, RandomPerson::Names::WelshPrefix

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#formatsObject

Returns the value of attribute formats.



5
6
7
# File 'lib/randomperson/name.rb', line 5

def formats
  @formats
end

#formats_ratiodObject

Returns the value of attribute formats_ratiod.



5
6
7
# File 'lib/randomperson/name.rb', line 5

def formats_ratiod
  @formats_ratiod
end

#namesObject

Returns the value of attribute names.



5
6
7
# File 'lib/randomperson/name.rb', line 5

def names
  @names
end

Instance Method Details

#execute(person = nil) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/randomperson/name.rb', line 7

def execute( person=nil )
  if @formats.length > 1
    r = rand(@formats_ratiod.last.end)
    i = @formats_ratiod.index_in_range( r )
    f = @formats.by_index(i).last
  else
    k, f = @formats.first #throw away the key name
  end
  f.( @names )
end