class TwitterCldr::Resources::CollationTriesImporter
Constants
- AUXILIARY_ZIP_FILE
- FRACTIONAL_UCA_FILE
- FRACTIONAL_UCA_SHORT_CUSTOMIZATIONS
- FRACTIONAL_UCA_SHORT_CUSTOMIZATION_HEADER
Private Instance Methods
copy_fractional_uca()
click to toggle source
# File lib/twitter_cldr/resources/collation_tries_importer.rb, line 56 def copy_fractional_uca zip_path = requirements[:uca].source_path_for(AUXILIARY_ZIP_FILE) base_output_path = File.join('resources', 'collation') FileUtils.mkdir_p(base_output_path) Zip::File.open(zip_path) do |zip| output_path = File.join(base_output_path, FRACTIONAL_UCA_FILE) File.open(output_path, 'w') do |file| fractional_uca_short = zip.read(File.join('CollationAuxiliary', FRACTIONAL_UCA_FILE)) FRACTIONAL_UCA_SHORT_CUSTOMIZATIONS.each do |existing, replacement| fractional_uca_short.gsub!(existing, replacement) end fractional_uca_short = fractional_uca_short .split("\n") .map do |line| if line.end_with?('# Special final value for reordering token') "##{line}" else line end end .join("\n") fractional_uca_short = FRACTIONAL_UCA_SHORT_CUSTOMIZATION_HEADER + fractional_uca_short file.write(fractional_uca_short) end end end
default_trie()
click to toggle source
# File lib/twitter_cldr/resources/collation_tries_importer.rb, line 102 def default_trie @default_trie ||= TwitterCldr::Collation::TrieBuilder.load_default_trie end
execute()
click to toggle source
# File lib/twitter_cldr/resources/collation_tries_importer.rb, line 45 def execute copy_fractional_uca update_default_trie_dump params.fetch(:locales).each do |locale| update_tailoring_trie_dump(locale) end end
save_trie_dump(locale, trie)
click to toggle source
# File lib/twitter_cldr/resources/collation_tries_importer.rb, line 96 def save_trie_dump(locale, trie) path = TwitterCldr::Collation::TrieLoader.dump_path(locale) FileUtils.mkdir_p(File.dirname(path)) File.write(path, Marshal.dump(trie)) end
update_default_trie_dump()
click to toggle source
# File lib/twitter_cldr/resources/collation_tries_importer.rb, line 88 def update_default_trie_dump save_trie_dump(TwitterCldr::Collation::TrieLoader::DEFAULT_TRIE_LOCALE, default_trie) end
update_tailoring_trie_dump(locale)
click to toggle source
# File lib/twitter_cldr/resources/collation_tries_importer.rb, line 92 def update_tailoring_trie_dump(locale) save_trie_dump(locale, TwitterCldr::Collation::TrieBuilder.load_tailored_trie(locale, default_trie)) end