Class: Namey::Generator
- Inherits:
-
Object
- Object
- Namey::Generator
- Defined in:
- lib/namey/generator.rb
Overview
Main class for namey, handles generating a name.
Instance Method Summary collapse
-
#female(frequency = :common, surname = true) ⇒ Object
generate a female name.
-
#generate(params = {}) ⇒ Object
generate a name using the supplied parameter hash.
-
#initialize(dbname = nil) ⇒ Generator
constructor
initialize the name generator *
dbname
- Sequel style db URI ex: ‘sqlite://foo.db’. -
#male(frequency = :common, surname = true) ⇒ Object
generate a male name.
-
#name(frequency = :common, surname = true) ⇒ Object
generate a name.
-
#surname(frequency = :common) ⇒ Object
generate a surname.
Constructor Details
Instance Method Details
#female(frequency = :common, surname = true) ⇒ Object
generate a female name
-
frequency
- :common, :rare, :all -
surname
- true if you want a full name, false if you just want a first name
41 42 43 |
# File 'lib/namey/generator.rb', line 41 def female(frequency = :common, surname = true) generate(:type => :female, :frequency => frequency, :with_surname => surname) end |
#generate(params = {}) ⇒ Object
generate a name using the supplied parameter hash
-
params
- A hash of parameters
Params
-
:type
- :male, :female, :surname -
:frequency
- :common, :rare, :all -
:min_freq
- raw frequency values to specify a precise range -
:max_freq
- raw frequency values to specify a precise range
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/namey/generator.rb', line 63 def generate(params = {}) params = { :type => random_gender, :frequency => :common, :with_surname => true }.merge(params) if ! ( params[:min_freq] || params[:max_freq] ) params[:min_freq], params[:max_freq] = frequency_values(params[:frequency]) end name = get_name(params[:type], params[:min_freq], params[:max_freq]) # add surname if needed if params[:type] != :surname && params[:with_surname] == true name = "#{name} #{get_name(:surname, params[:min_freq], params[:max_freq])}" end name end |
#male(frequency = :common, surname = true) ⇒ Object
generate a male name
-
frequency
- :common, :rare, :all -
surname
- true if you want a full name, false if you just want a first name
32 33 34 |
# File 'lib/namey/generator.rb', line 32 def male(frequency = :common, surname = true) generate(:type => :male, :frequency => frequency, :with_surname => surname) end |
#name(frequency = :common, surname = true) ⇒ Object
generate a name
-
frequency
- :common, :rare, :all -
surname
- true if you want a full name, false if you just want a first name
23 24 25 |
# File 'lib/namey/generator.rb', line 23 def name(frequency = :common, surname = true) generate(:frequency => frequency, :with_surname =>surname) end |
#surname(frequency = :common) ⇒ Object
generate a surname
-
frequency
- :common, :rare, :all
49 50 51 |
# File 'lib/namey/generator.rb', line 49 def surname(frequency = :common) generate(:type => :surname, :frequency => frequency) end |