Module: NameBank
- Defined in:
- lib/name_bank.rb,
lib/name_bank/version.rb,
lib/name_bank/repository.rb,
lib/name_bank/pool_schema.rb
Overview
Authentic, gender-matched given names and surnames for 106 countries,
addressed by ISO alpha-2 country code. Sampling is uniform and deterministic
from a caller-supplied RNG — no global locale or random state.
Defined Under Namespace
Modules: PoolSchema
Classes: Error, Repository, UnknownCountry, UnknownScript, UnknownVariant
Constant Summary
collapse
- DATA_DIR =
File.expand_path("../data", __dir__)
- VERSION =
"0.1.6"
Class Method Summary
collapse
-
.countries ⇒ Object
-
.first_name(country:, gender:, rng:, variant: nil, script: :latin) ⇒ Object
-
.full_name(country:, gender:, rng:, variant: nil, script: :latin) ⇒ Object
-
.last_name(country:, rng:, variant: nil, script: :latin) ⇒ Object
-
.repository ⇒ Object
-
.scripts(country:) ⇒ Object
-
.variants(country:) ⇒ Object
Class Method Details
.countries ⇒ Object
35
36
37
|
# File 'lib/name_bank.rb', line 35
def countries
repository.countries
end
|
.first_name(country:, gender:, rng:, variant: nil, script: :latin) ⇒ Object
20
21
22
|
# File 'lib/name_bank.rb', line 20
def first_name(country:, gender:, rng:, variant: nil, script: :latin)
repository.firstnames(country: country, gender: gender, variant: variant, script: script).sample(random: rng)
end
|
.full_name(country:, gender:, rng:, variant: nil, script: :latin) ⇒ Object
28
29
30
31
32
33
|
# File 'lib/name_bank.rb', line 28
def full_name(country:, gender:, rng:, variant: nil, script: :latin)
{
firstname: first_name(country: country, gender: gender, rng: rng, variant: variant, script: script),
lastname: last_name(country: country, rng: rng, variant: variant, script: script)
}
end
|
.last_name(country:, rng:, variant: nil, script: :latin) ⇒ Object
24
25
26
|
# File 'lib/name_bank.rb', line 24
def last_name(country:, rng:, variant: nil, script: :latin)
repository.lastnames(country: country, variant: variant, script: script).sample(random: rng)
end
|
.repository ⇒ Object
47
48
49
|
# File 'lib/name_bank.rb', line 47
def repository
@repository ||= Repository.new(data_dir: DATA_DIR)
end
|
.scripts(country:) ⇒ Object
43
44
45
|
# File 'lib/name_bank.rb', line 43
def scripts(country:)
repository.scripts(country: country)
end
|
.variants(country:) ⇒ Object
39
40
41
|
# File 'lib/name_bank.rb', line 39
def variants(country:)
repository.variants(country: country)
end
|