class TwitterCldr::Resources::TimezoneRegionsImporter

This class should be used with JRuby in 1.9 mode

Public Instance Methods

execute() click to toggle source
# File lib/twitter_cldr/resources/timezone_regions_importer.rb, line 18
def execute
  output_path = params.fetch(:output_path)
  FileUtils.mkdir_p(output_path)
  output_file = File.join(output_path, 'timezone_regions.yml')
  File.write(output_file, YAML.dump(regions))
end

Private Instance Methods

output() click to toggle source
# File lib/twitter_cldr/resources/timezone_regions_importer.rb, line 41
def output
  @output ||= requirements[:icu].get_class('com.ibm.icu.util.Output')
end
regions() click to toggle source
# File lib/twitter_cldr/resources/timezone_regions_importer.rb, line 27
def regions
  TZInfo::Timezone.all_identifiers.each_with_object({}) do |id, ret|
    is_primary = output.new
    region = zone_meta.getCanonicalCountry(id, is_primary)

    if region
      ret[id.to_sym] = {
        region: region,
        primary: is_primary.value
      }
    end
  end
end
zone_meta() click to toggle source
# File lib/twitter_cldr/resources/timezone_regions_importer.rb, line 45
def zone_meta
  @zone_meta ||= requirements[:icu].get_class('com.ibm.icu.impl.ZoneMeta')
end