Module: Vydumschik::Name

Defined in:
lib/vydumschik/name.rb

Overview

This module generates human names

Class Method Summary collapse

Class Method Details

.first_name(gender = nil) ⇒ Object

Random first name (gender = :male/:female/nil for random)



11
12
13
14
# File 'lib/vydumschik/name.rb', line 11

def self.first_name(gender=nil)
  gender ||= random_gender
  gender == :female ? data[:female][rand data[:female].length] : data[:male][rand data[:male].length][:name]
end

.full_name(gender = nil) ⇒ Object

Random full name - surname, first name and middle name (gender = :male/:female/nil for random)



32
33
34
35
# File 'lib/vydumschik/name.rb', line 32

def self.full_name(gender=nil)
  gender ||= random_gender
  [surname(gender), first_name(gender), middle_name(gender)].join(' ')
end

.middle_name(gender = nil) ⇒ Object

Random middle name (gender = :male/:female/nil for random)



17
18
19
20
21
# File 'lib/vydumschik/name.rb', line 17

def self.middle_name(gender=nil)
  gender ||= random_gender
  name = data[:male][rand data[:male].length]
  gender == :female ? name[:female_middle] : name[:male_middle]
end

.surname(gender = nil) ⇒ Object

Random surnamename (gender = :male/:female/nil for random)



24
25
26
27
28
29
# File 'lib/vydumschik/name.rb', line 24

def self.surname(gender=nil)
  gender ||= random_gender
  surname = data[:surnames][rand data[:surnames].length]
  surname += 'а' if gender==:female
  surname
end