Class: Hiragana

Inherits:
Object
  • Object
show all
Defined in:
lib/learn-japanese/data/hiragana.rb

Overview

Silabario japonés

Class Method Summary collapse

Class Method Details

.allObject



61
62
63
64
65
66
67
68
69
# File 'lib/learn-japanese/data/hiragana.rb', line 61

def self.all
  output = self.group1
  output.merge!(self.group2)
  output.merge!(self.group3)
  output.merge!(self.group4)
  output.merge!(self.group5)
  output.merge!(self.group6)
  output
end

.group1Object



7
8
9
10
11
12
13
14
# File 'lib/learn-japanese/data/hiragana.rb', line 7

def self.group1
  { a: "\u{3042}",
    i: "\u{3044}",
    u: "\u{3046}",
    e: "\u{3048}",
    o: "\u{304A}"
  }
end

.group2Object



16
17
18
19
20
21
22
23
# File 'lib/learn-japanese/data/hiragana.rb', line 16

def self.group2
  { ka: "\u{304B}",
    ki: "\u{304D}",
    ku: "\u{304F}",
    ke: "\u{3051}",
    ko: "\u{3053}"
  }
end

.group3Object



25
26
27
28
29
30
31
32
# File 'lib/learn-japanese/data/hiragana.rb', line 25

def self.group3
  { sa: "\u{3055}",
    shi: "\u{3057}",
    su: "\u{3059}",
    se: "\u{305B}",
    so: "\u{305D}"
  }
end

.group4Object



34
35
36
37
38
39
40
41
# File 'lib/learn-japanese/data/hiragana.rb', line 34

def self.group4
  { ta: "\u{305F}",
    chi: "\u{3061}",
    tsu: "\u{3064}", # つ
    te: "\u{3066}",
    to: "\u{3068}"
  }
end

.group5Object



43
44
45
46
47
48
49
50
# File 'lib/learn-japanese/data/hiragana.rb', line 43

def self.group5
  { na: "\u{306A}",
    ni: "\u{306B}",
    nu: "\u{306C}",
    ne: "\u{306D}",
    no: "\u{306E}"
  }
end

.group6Object



52
53
54
55
56
57
58
59
# File 'lib/learn-japanese/data/hiragana.rb', line 52

def self.group6
  { ha: "\u{306F}",
    hi: "\u{3072}",
    hu: "\u{3075}",
    he: "\u{3078}",
    ho: "\u{307B}"
  }
end

.groups(levels) ⇒ Object



71
72
73
74
75
76
77
78
79
80
81
# File 'lib/learn-japanese/data/hiragana.rb', line 71

def self.groups(levels)
  return self.all if levels == :all
  hiragana = {}
  hiragana.merge! Hiragana.group1 if levels.include? 1
  hiragana.merge! Hiragana.group2 if levels.include? 2
  hiragana.merge! Hiragana.group3 if levels.include? 3
  hiragana.merge! Hiragana.group4 if levels.include? 4
  hiragana.merge! Hiragana.group4 if levels.include? 5
  hiragana.merge! Hiragana.group4 if levels.include? 6
  hiragana
end

.hiraganas_to_sound(hiraganas_input) ⇒ Object



89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/learn-japanese/data/hiragana.rb', line 89

def self.hiraganas_to_sound(hiraganas_input)
  all_hiraganas = Hiragana.all

  sounds_array = hiraganas_input.map do |hiragana_input|
    sound = '*'
    all_hiraganas.each_pair do |key, value|
      sound = key if value == hiragana_input
    end
    sound
  end

  sounds_array.join('')
end

.show_help(level = 1) ⇒ Object



103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/learn-japanese/data/hiragana.rb', line 103

def self.show_help(level=1)
  Debug.puts_line
  puts "Hiragana help\n".upcase.cyan

  Debug.puts_group Hiragana.group1
  Debug.puts_group Hiragana.group2 if level > 1
  Debug.puts_group Hiragana.group3 if level > 2
  Debug.puts_group Hiragana.group4 if level > 3
  Debug.puts_group Hiragana.group5 if level > 4
  Debug.puts_group Hiragana.group6 if level > 5
  Debug.puts_group Hiragana.group7 if level > 6
end

.sounds_to_hiragana(sounds) ⇒ Object



83
84
85
86
87
# File 'lib/learn-japanese/data/hiragana.rb', line 83

def self.sounds_to_hiragana(sounds)
  hiraganas = Hiragana.all
  hiragana_array = sounds.map { hiraganas[_1.to_sym] || '*' }
  hiragana = hiragana_array.join('')
end