Class: Yosina::Transliterators::HiraKata::Transliterator
- Inherits:
-
BaseTransliterator
- Object
- BaseTransliterator
- Yosina::Transliterators::HiraKata::Transliterator
- Defined in:
- lib/yosina/transliterators/hira_kata.rb
Overview
Transliterator for hiragana/katakana conversion
Instance Attribute Summary collapse
-
#mode ⇒ Object
readonly
Returns the value of attribute mode.
Instance Method Summary collapse
-
#call(input_chars) ⇒ Enumerable<Char>
Convert between hiragana and katakana.
-
#initialize(options = {}) ⇒ Transliterator
constructor
Initialize the transliterator with options.
Constructor Details
#initialize(options = {}) ⇒ Transliterator
Initialize the transliterator with options
26 27 28 29 30 |
# File 'lib/yosina/transliterators/hira_kata.rb', line 26 def initialize( = {}) super() @mode = [:mode] || :hira_to_kata @mapping_table = HiraKata.build_mapping_table(@mode) end |
Instance Attribute Details
#mode ⇒ Object (readonly)
Returns the value of attribute mode.
20 21 22 |
# File 'lib/yosina/transliterators/hira_kata.rb', line 20 def mode @mode end |
Instance Method Details
#call(input_chars) ⇒ Enumerable<Char>
Convert between hiragana and katakana
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/yosina/transliterators/hira_kata.rb', line 36 def call(input_chars) Chars.enum do |y| input_chars.each do |char| if char.sentinel? y << char break end mapped = @mapping_table[char.c] y << if mapped Char.new(c: mapped, offset: char.offset, source: char) else char end end end end |