Class: Yosina::Transliterators::MathematicalAlphanumerics::Transliterator
- Inherits:
-
BaseTransliterator
- Object
- BaseTransliterator
- Yosina::Transliterators::MathematicalAlphanumerics::Transliterator
- Defined in:
- lib/yosina/transliterators/mathematical_alphanumerics.rb
Overview
Transliterator for mathematical_alphanumerics
Instance Method Summary collapse
-
#call(input_chars) ⇒ Enumerable<Char>
Replace mathematical alphanumeric symbols with plain characters.
-
#initialize(_options = {}) ⇒ Transliterator
constructor
Initialize the transliterator with options.
Constructor Details
#initialize(_options = {}) ⇒ Transliterator
Initialize the transliterator with options
756 757 758 759 |
# File 'lib/yosina/transliterators/mathematical_alphanumerics.rb', line 756 def initialize( = {}) # Options currently unused for mathematical_alphanumerics transliterator super() end |
Instance Method Details
#call(input_chars) ⇒ Enumerable<Char>
Replace mathematical alphanumeric symbols with plain characters
765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 |
# File 'lib/yosina/transliterators/mathematical_alphanumerics.rb', line 765 def call(input_chars) offset = 0 result = input_chars.filter_map do |char| replacement = MATHEMATICAL_ALPHANUMERICS_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 |