Module: FFaker::NameCS

Extended by:
ModuleUtils, NameCS
Includes:
Name
Included in:
NameCS
Defined in:
lib/ffaker/name_cs.rb

Constant Summary collapse

FIRST_NAMES =
{
  female: %w(Alena Andrea Anna Barbora Božena Dagmar Dana Eliška Eva Hana Helena Irena Ivana Jana Jarmila Jaroslava Jiřina Jitka Kateřina Kristýna Lenka Libuše Lucie Ludmila Marcela Marie Markéta Marta Martina Michaela Miroslava Monika Pavla Petra Tereza Věra Veronika Vlasta Zdeňka Zuzana),
  male: %w(Adam Aleš Alexandr Alois Antonín Bedřich Bohumil Bohuslav Břetislav Dalibor Daniel David Denis Dominik Dušan Eduard Emil Filip František Ivan Ivo Jakub Jan Jaromír Jaroslav Jindřich Jiří Josef Jozef Kamil Karel Kryštof Ladislav Leoš Libor Lubomír Luboš Luděk Ludvík Lukáš Marcel Marek Marian Martin Matěj Matyáš Michael Michal Milan Miloslav Miloš Miroslav Oldřich Ondřej Otakar Patrik Pavel Petr Přemysl Radek Radim Radomír Radovan René Richard Robert Roman Rostislav Rudolf Samuel Stanislav Šimon Štefan Štěpán Tadeáš Tomáš Václav Viktor Vilém Vít Vítězslav Vladimír Vladislav Vlastimil Vojtěch Vratislav Zbyněk Zdeněk)
}
LAST_NAMES =
{
  female: %w(Dvořáková Černá Benešová Fialová Doležalová Čermáková Blažková Bartošová Čechová Dostálová Bláhová Burešová Dušková Beranová Bednářová Bártová Fišerová Bílková Beránková Brožová Čížková Adámková Daňková Filipová Červenková Čapková Bendová Adamcová Dvořáčková Brabcová Davidová Březinová Dlouhá Dohnalová Burianová Dufková Fojtíková Burdová Červená Boháčová Bartoňová Doleželová Dudová Adamová Bauerová Divišová Coufalová Čejková Berková Balážová),
  male: %w(Dvořák Černý Beneš Fiala Doležal Čermák Blažek Bartoš Čech Dostál Bláha Bureš Dušek Beran Bednář Bárta Bílek Beránek Fišer Brož Čížek Filip Červenka Adámek Daněk Dvořáček Benda Adamec Brabec Březina David Burian Čapek Dohnal Dlouhý Fojtík Bartoň Červený Dufek Burda Duda Adam Boháč Doležel Baláž Diviš Coufal Bauer Dolejší)
}
SUFFIXES =
%w(Ph.D. Th.D. DSc.)
GENDERS =

:nodoc:

[:male, :female, :random]

Constants included from Name

FFaker::Name::PREFIXES

Instance Method Summary collapse

Methods included from ModuleUtils

const_missing, k, underscore

Instance Method Details

#first_name(for_sex = :random) ⇒ Object

Generates random first name for_sex can be :male, :female. Defaults to :random



65
66
67
# File 'lib/ffaker/name_cs.rb', line 65

def first_name(for_sex = :random)
  FIRST_NAMES[select_sex(for_sex)].sample
end

#last_name(for_sex = :random) ⇒ Object

Generates random last name for_sex can be :male, :female. Defaults to :random



59
60
61
# File 'lib/ffaker/name_cs.rb', line 59

def last_name(for_sex = :random)
  LAST_NAMES[select_sex(for_sex)].sample
end

#name(for_sex = :random) ⇒ Object

Generates random full name which can contain prefix and suffix Can be called with explicit sex (:male, :female), like:

FFaker::NameCS.name(:male)

for_sex defaults to :random.



47
48
49
50
51
52
53
54
55
# File 'lib/ffaker/name_cs.rb', line 47

def name(for_sex = :random)
  with_same_sex(for_sex) do
    case rand(10)
    when 0     then "#{prefix} #{first_name} #{last_name} #{suffix}"
    when 1..2  then "#{prefix} #{first_name} #{last_name}"
    else "#{first_name} #{last_name}"
    end
  end
end

#prefixObject

Generates random name prefix, an academic degree



70
71
72
# File 'lib/ffaker/name_cs.rb', line 70

def prefix
  PREFIXES.sample
end

#suffixObject

Generates random name suffix, an academic degree



75
76
77
# File 'lib/ffaker/name_cs.rb', line 75

def suffix
  SUFFIXES.sample
end

#with_same_sex(sex = :random) ⇒ Object

All names generated inside the block will have the same sex. Can be called with explicit sex which will affect all calls inside thee block:

FFaker::NameCS.with_same_sex(:female)
  person.last_name  = FFaker::NameCS.last_name
  person.first_name = FFaker::NameCS.first_name
end

person.last_name    # => "Nováková"
person.first_name   # => "Jana"


34
35
36
37
38
39
# File 'lib/ffaker/name_cs.rb', line 34

def with_same_sex(sex = :random)
  @fixed_sex = sex == :random ? GENDERS[rand(2)] : sex
  yield
ensure
  @fixed_sex = nil
end