Class: Cldr::Export::Data::Metazones
- Defined in:
- lib/cldr/export/data/metazones.rb
Instance Method Summary collapse
-
#initialize ⇒ Metazones
constructor
A new instance of Metazones.
Methods inherited from Hash
#deep_merge, #deep_stringify_keys, #symbolize_keys
Constructor Details
#initialize ⇒ Metazones
Returns a new instance of Metazones.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/cldr/export/data/metazones.rb', line 8 def initialize path = "#{Cldr::Export::Data.dir}/supplemental/metaZones.xml" doc = File.open(path) { |file| Nokogiri::XML(file) } self[:timezones] = doc.xpath('//metaZones/metazoneInfo/timezone').inject({}) do |result, node| timezone = node.attr('type').to_sym result[timezone] = (node.xpath('usesMetazone')) result[timezone].sort_by! { |zone| [zone['from'] ? zone['from'] : DateTime.new, zone['to'] ? zone['to'] : DateTime.now] } result end self[:primaryzones] = doc.xpath('//primaryZones/primaryZone').inject({}) do |result, node| territory = node.attr('iso3166').to_sym result[territory] = node.content result end end |