Class: JapaneseName

Inherits:
Struct
  • Object
show all
Defined in:
lib/japanese-name.rb

Defined Under Namespace

Classes: NotFound

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#hiraganaObject

Returns the value of attribute hiragana

Returns:

  • (Object)

    the current value of hiragana



5
6
7
# File 'lib/japanese-name.rb', line 5

def hiragana
  @hiragana
end

#kanjiObject

Returns the value of attribute kanji

Returns:

  • (Object)

    the current value of kanji



5
6
7
# File 'lib/japanese-name.rb', line 5

def kanji
  @kanji
end

Class Method Details

.all_kanji_family_namesObject



30
31
32
# File 'lib/japanese-name.rb', line 30

def self.all_kanji_family_names
  @@all_kanji_family_names ||= read_all_kanji_names(File.expand_path "../surname.json", __FILE__)
end

.all_kanji_given_namesObject



18
19
20
# File 'lib/japanese-name.rb', line 18

def self.all_kanji_given_names
  @@all_kanji_given_names ||= read_all_kanji_names(File.expand_path "../givenname.json", __FILE__)
end

.family_name_to_ascii(name) ⇒ Object



26
27
28
# File 'lib/japanese-name.rb', line 26

def self.family_name_to_ascii(name)
  Romaji.kana2romaji(family_name_to_hiragana(name))
end

.family_name_to_hiragana(name) ⇒ Object



22
23
24
# File 'lib/japanese-name.rb', line 22

def self.family_name_to_hiragana(name)
  all_kanji_family_names[name] || hiragana_presence(name) || raise(NotFound.new name)
end

.given_name_to_ascii(name) ⇒ Object



14
15
16
# File 'lib/japanese-name.rb', line 14

def self.given_name_to_ascii(name)
  Romaji.kana2romaji(given_name_to_hiragana(name))
end

.given_name_to_hiragana(name) ⇒ Object



10
11
12
# File 'lib/japanese-name.rb', line 10

def self.given_name_to_hiragana(name)
  all_kanji_given_names[name] || hiragana_presence(name) || raise(NotFound.new name)
end

Instance Method Details

#to_json(options = {}) ⇒ Object



34
35
36
# File 'lib/japanese-name.rb', line 34

def to_json(options={})
  {hiragana: hiragana, kanji: kanji}.to_json options
end