Module: Yosina::Transliterators

Defined in:
lib/yosina/transliterators.rb,
lib/yosina/transliterators/spaces.rb,
lib/yosina/transliterators/hyphens.rb,
lib/yosina/transliterators/combined.rb,
lib/yosina/transliterators/radicals.rb,
lib/yosina/transliterators/hira_kata.rb,
lib/yosina/transliterators/hyphens_data.rb,
lib/yosina/transliterators/ivs_svs_base.rb,
lib/yosina/transliterators/combined_data.rb,
lib/yosina/transliterators/kanji_old_new.rb,
lib/yosina/transliterators/roman_numerals.rb,
lib/yosina/transliterators/hira_kata_table.rb,
lib/yosina/transliterators/small_hirakatas.rb,
lib/yosina/transliterators/archaic_hirakatas.rb,
lib/yosina/transliterators/ivs_svs_base_data.rb,
lib/yosina/transliterators/circled_or_squared.rb,
lib/yosina/transliterators/jisx0201_and_alike.rb,
lib/yosina/transliterators/roman_numerals_data.rb,
lib/yosina/transliterators/historical_hirakatas.rb,
lib/yosina/transliterators/hira_kata_composition.rb,
lib/yosina/transliterators/prolonged_sound_marks.rb,
lib/yosina/transliterators/circled_or_squared_data.rb,
lib/yosina/transliterators/ideographic_annotations.rb,
lib/yosina/transliterators/japanese_iteration_marks.rb,
lib/yosina/transliterators/mathematical_alphanumerics.rb

Overview

Registry for transliterator factories

Defined Under Namespace

Modules: ArchaicHirakatas, CircledOrSquared, Combined, HiraKata, HiraKataComposition, HiraKataTable, HistoricalHirakatas, Hyphens, HyphensData, IdeographicAnnotations, IvsSvsBase, IvsSvsBaseData, JapaneseIterationMarks, Jisx0201AndAlike, KanjiOldNew, MathematicalAlphanumerics, ProlongedSoundMarks, Radicals, RomanNumerals, SmallHirakatas, Spaces

Constant Summary collapse

FACTORIES =
{
  spaces: Transliterators::Spaces,
  kanji_old_new: Transliterators::KanjiOldNew,
  radicals: Transliterators::Radicals,
  roman_numerals: Transliterators::RomanNumerals,
  ideographic_annotations: Transliterators::IdeographicAnnotations,
  mathematical_alphanumerics: Transliterators::MathematicalAlphanumerics,
  prolonged_sound_marks: Transliterators::ProlongedSoundMarks,
  hyphens: Transliterators::Hyphens,
  hira_kata: Transliterators::HiraKata,
  hira_kata_composition: Transliterators::HiraKataComposition,
  ivs_svs_base: Transliterators::IvsSvsBase,
  jisx0201_and_alike: Transliterators::Jisx0201AndAlike,
  combined: Transliterators::Combined,
  circled_or_squared: CircledOrSquared,
  japanese_iteration_marks: Transliterators::JapaneseIterationMarks,
  archaic_hirakatas: Transliterators::ArchaicHirakatas,
  small_hirakatas: Transliterators::SmallHirakatas,
  historical_hirakatas: Transliterators::HistoricalHirakatas
}.freeze

Class Method Summary collapse

Class Method Details

.available_transliteratorsArray<Symbol>

List all available transliterator names

Returns:

  • (Array<Symbol>)

    Array of available transliterator names



61
62
63
# File 'lib/yosina/transliterators.rb', line 61

def self.available_transliterators
  FACTORIES.keys
end

.get_factory(name) ⇒ Module?

Get a transliterator factory by name

Parameters:

  • name (String, Symbol)

    The name of the transliterator

Returns:

  • (Module, nil)

    The transliterator factory module or nil if not found



50
51
52
53
54
55
56
# File 'lib/yosina/transliterators.rb', line 50

def self.get_factory(name)
  if name.is_a?(String)
    # Convert string to symbol format (e.g. 'kanji-old-new' -> :kanji_old_new)
    name = name.gsub('-', '_').to_sym
  end
  FACTORIES[name]
end