Class: Yosina::ChainedTransliterator

Inherits:
BaseTransliterator show all
Defined in:
lib/yosina/transliterator.rb

Overview

Chains multiple transliterators together

Instance Method Summary collapse

Constructor Details

#initialize(transliterators) ⇒ ChainedTransliterator

Initialize a chained transliterator

Parameters:



34
35
36
37
# File 'lib/yosina/transliterator.rb', line 34

def initialize(transliterators)
  super()
  @transliterators = transliterators
end

Instance Method Details

#call(input_chars) ⇒ Enumerable<Char>

Apply all transliterators in sequence

Parameters:

  • input_chars (Enumerable<Char>)

    The characters to transliterate

Returns:

  • (Enumerable<Char>)

    The transliterated characters



43
44
45
46
47
# File 'lib/yosina/transliterator.rb', line 43

def call(input_chars)
  @transliterators.reduce(input_chars) do |chars, transliterator|
    transliterator.call(chars)
  end
end