Class: Yosina::Transliterators::SmallHirakatas::Transliterator
- Inherits:
-
BaseTransliterator
- Object
- BaseTransliterator
- Yosina::Transliterators::SmallHirakatas::Transliterator
- Defined in:
- lib/yosina/transliterators/small_hirakatas.rb
Overview
Transliterator for small_hirakatas
Instance Method Summary collapse
-
#call(input_chars) ⇒ Enumerable<Char>
Replaces small hiragana/katakana with their ordinary-sized equivalents.
-
#initialize(_options = {}) ⇒ Transliterator
constructor
Initialize the transliterator with options.
Constructor Details
#initialize(_options = {}) ⇒ Transliterator
Initialize the transliterator with options
74 75 76 77 |
# File 'lib/yosina/transliterators/small_hirakatas.rb', line 74 def initialize( = {}) # Options currently unused for small_hirakatas transliterator super() end |
Instance Method Details
#call(input_chars) ⇒ Enumerable<Char>
Replaces small hiragana/katakana with their ordinary-sized equivalents.
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/yosina/transliterators/small_hirakatas.rb', line 83 def call(input_chars) offset = 0 result = input_chars.filter_map do |char| replacement = SMALL_HIRAKATAS_MAPPINGS[char.c] c = if replacement # Skip empty replacements (character removal) next if replacement.empty? Char.new(c: replacement, offset: offset, source: char) else char.with_offset(offset) end offset += c.c.length c end class << result include Yosina::Chars end result end |