Class: Yosina::Transliterators::Spaces::Transliterator
- Inherits:
-
BaseTransliterator
- Object
- BaseTransliterator
- Yosina::Transliterators::Spaces::Transliterator
- Defined in:
- lib/yosina/transliterators/spaces.rb
Overview
Transliterator for spaces
Instance Method Summary collapse
-
#call(input_chars) ⇒ Enumerable<Char>
Replace various space characters with plain whitespace.
-
#initialize(_options = {}) ⇒ Transliterator
constructor
Initialize the transliterator with options.
Constructor Details
#initialize(_options = {}) ⇒ Transliterator
Initialize the transliterator with options
36 37 38 39 |
# File 'lib/yosina/transliterators/spaces.rb', line 36 def initialize( = {}) # Options currently unused for spaces transliterator super() end |
Instance Method Details
#call(input_chars) ⇒ Enumerable<Char>
Replace various space characters with plain whitespace
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/yosina/transliterators/spaces.rb', line 45 def call(input_chars) offset = 0 result = input_chars.filter_map do |char| replacement = SPACES_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 |