Class: Gimei::Name
- Inherits:
-
Object
show all
- Extended by:
- Forwardable
- Defined in:
- lib/gimei/name.rb
Defined Under Namespace
Classes: First, Last, NameWord
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(gender = nil) ⇒ Name
Returns a new instance of Name.
24
25
26
27
28
|
# File 'lib/gimei/name.rb', line 24
def initialize(gender = nil)
@gender = gender || Gimei::GENDERS.sample(random: Gimei.config.rng) @first = First.new @gender
@last = Last.new
end
|
Instance Attribute Details
#first ⇒ Object
Also known as:
given
Returns the value of attribute first.
2
3
4
|
# File 'lib/gimei/name.rb', line 2
def first
@first
end
|
#gender ⇒ Object
Returns the value of attribute gender.
2
3
4
|
# File 'lib/gimei/name.rb', line 2
def gender
@gender
end
|
#last ⇒ Object
Also known as:
family
Returns the value of attribute last.
2
3
4
|
# File 'lib/gimei/name.rb', line 2
def last
@last
end
|
Class Method Details
.female ⇒ Object
11
12
13
|
# File 'lib/gimei/name.rb', line 11
def female
new(:female)
end
|
.male ⇒ Object
7
8
9
|
# File 'lib/gimei/name.rb', line 7
def male
new(:male)
end
|
Instance Method Details
#female? ⇒ Boolean
50
51
52
|
# File 'lib/gimei/name.rb', line 50
def female?
@gender == :female
end
|
#hiragana ⇒ Object
34
35
36
|
# File 'lib/gimei/name.rb', line 34
def hiragana
"#{last.hiragana} #{first.hiragana}"
end
|
#kanji ⇒ Object
Also known as:
to_s
30
31
32
|
# File 'lib/gimei/name.rb', line 30
def kanji
"#{last.kanji} #{first.kanji}"
end
|
#katakana ⇒ Object
38
39
40
|
# File 'lib/gimei/name.rb', line 38
def katakana
"#{last.katakana} #{first.katakana}"
end
|
#male? ⇒ Boolean
46
47
48
|
# File 'lib/gimei/name.rb', line 46
def male?
@gender == :male
end
|
#romaji ⇒ Object
42
43
44
|
# File 'lib/gimei/name.rb', line 42
def romaji
"#{first.romaji} #{last.romaji}"
end
|