Class: Cldr::Export::Data::WindowsZones

Inherits:
Hash
  • Object
show all
Defined in:
lib/cldr/export/data/windows_zones.rb

Instance Method Summary collapse

Methods inherited from Hash

#deep_merge, #deep_stringify_keys, #symbolize_keys

Constructor Details

#initializeWindowsZones

Returns a new instance of WindowsZones.



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/cldr/export/data/windows_zones.rb', line 8

def initialize
  path = "#{Cldr::Export::Data.dir}/supplemental/windowsZones.xml"
  doc = File.open(path) { |file| Nokogiri::XML(file) }
  doc.xpath('//windowsZones/mapTimezones/mapZone').inject(self) do |result, node|
    zone = node.attr('other').to_s
    territory = node.attr('territory')
    timezones = node.attr('type').split(' ')
    result[zone] ||= {}
    result[zone][territory] = timezones
    result
  end
end