class TwitterCldr::Transforms::Transliterator
Attributes
source_locale[R]
target_locale[R]
text[R]
Public Class Methods
new(text, source_locale, target_locale)
click to toggle source
# File lib/twitter_cldr/transforms/transliterator.rb, line 15 def initialize(text, source_locale, target_locale) @text = text @source_locale = locale_klass.parse(source_locale) @target_locale = locale_klass.parse(target_locale).maximize end
transliterate(text, source_locale, target_locale)
click to toggle source
# File lib/twitter_cldr/transforms/transliterator.rb, line 9 def self.transliterate(text, source_locale, target_locale) new(text, source_locale, target_locale).transliterate end
Public Instance Methods
transliterate()
click to toggle source
# File lib/twitter_cldr/transforms/transliterator.rb, line 21 def transliterate result = text.dup each_source_locale do |source_locale| transform_id = TransformId.find(source_locale, target_locale) if transform_id transformer = Transformer.get(transform_id) result = transformer.transform(result) end end result end
Private Instance Methods
each_source_locale() { |source_locale| ... }
click to toggle source
# File lib/twitter_cldr/transforms/transliterator.rb, line 42 def each_source_locale if source_locale.script yield source_locale else scripts.each do |script| locale = locale_klass.new( source_locale.language, script, source_locale.region ) yield locale.maximize end end end
locale_klass()
click to toggle source
# File lib/twitter_cldr/transforms/transliterator.rb, line 38 def locale_klass TwitterCldr::Shared::Locale end
scripts()
click to toggle source
# File lib/twitter_cldr/transforms/transliterator.rb, line 56 def scripts @scripts ||= TwitterCldr::Utils::ScriptDetector.detect_scripts(text).scripts end