class TwitterCldr::Resources::AliasesImporter
Constants
- ALIAS_TAGS
only these aliases will be imported
Public Instance Methods
execute()
click to toggle source
# File lib/twitter_cldr/resources/aliases_importer.rb, line 20 def execute output_file = File.join(output_path, 'aliases.yml') FileUtils.mkdir_p(output_path) File.open(output_file, 'w:utf-8') do |output| output.write( TwitterCldr::Utils::YAML.dump( TwitterCldr::Utils.deep_symbolize_keys(aliases: aliases), use_natural_symbols: true ) ) end end
Private Instance Methods
alias_for(alias_tag)
click to toggle source
# File lib/twitter_cldr/resources/aliases_importer.rb, line 43 def alias_for(alias_tag) doc.xpath("//alias/#{alias_tag}").inject({}) do |ret, alias_data| if replacement_attr = alias_data.attribute('replacement') replacement = replacement_attr.value if replacement.include?(' ') replacement = replacement.split(' ') end type = alias_data.attribute('type').value reason = alias_data.attribute('reason').value ret[reason] ||= {} ret[reason][type] = replacement end ret end end
aliases()
click to toggle source
# File lib/twitter_cldr/resources/aliases_importer.rb, line 36 def aliases ALIAS_TAGS.inject({}) do |ret, alias_tag| ret[alias_tag.sub('Alias', '')] = alias_for(alias_tag) ret end end
doc()
click to toggle source
# File lib/twitter_cldr/resources/aliases_importer.rb, line 63 def doc @doc ||= Nokogiri.XML(File.read(supplemental_metadata_path)) end
output_path()
click to toggle source
# File lib/twitter_cldr/resources/aliases_importer.rb, line 75 def output_path params.fetch(:output_path) end
supplemental_metadata_path()
click to toggle source
# File lib/twitter_cldr/resources/aliases_importer.rb, line 67 def supplemental_metadata_path File.join( requirements[:cldr].common_path, 'supplemental', 'supplementalMetadata.xml' ) end