Sha256: f03bf741226f0d20116d101554db40b2d7ec591d0079a0a92182335d5d5749f9

Contents?: true

Size: 1.09 KB

Versions: 21

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

require 'uri'
require 'net/http'
require 'nokogiri'
require 'fileutils'
require 'json'

# Support code to allow updating subdivision data from the Unicode CLDR repository
module Sources
  # Support code to allow updating subdivision data from the Unicode CLDR repository
  module CLDR
    # Downloads data from the Unicode CLDR repository
    module Downloader
      module_function

      def subdivisions
        download_folder('subdivisions')
      end

      def download_folder(type)
        folder = File.join(ISO3166_ROOT_PATH, 'tmp', 'cldr', 'trunk', 'common', type)
        FileUtils.mkdir_p(folder)
        url = URI.parse("https://api.github.com/repos/unicode-org/cldr/contents/common/#{type}")
        path_listing = JSON.parse(Net::HTTP.get_response(url).body)
        path_listing.each do |path|
          next unless path['name'] =~ /\.xml$/

          File.open(File.join(folder, path['name']), 'w') do |f|
            raw_url = URI.parse(path['download_url'])
            f.write(Net::HTTP.get_response(raw_url).body)
          end
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
countries-7.1.1 lib/countries/sources/cldr/downloader.rb
countries-7.1.0 lib/countries/sources/cldr/downloader.rb
countries-7.0.0 lib/countries/sources/cldr/downloader.rb
countries-6.0.0 lib/countries/sources/cldr/downloader.rb
countries-5.7.2 lib/countries/sources/cldr/downloader.rb
countries-5.7.1 lib/countries/sources/cldr/downloader.rb
countries-5.7.0 lib/countries/sources/cldr/downloader.rb
countries-5.6.0 lib/countries/sources/cldr/downloader.rb
countries-5.5.0 lib/countries/sources/cldr/downloader.rb
countries-5.4.0 lib/countries/sources/cldr/downloader.rb
countries-5.3.2 lib/countries/sources/cldr/downloader.rb
countries-5.3.1 lib/countries/sources/cldr/downloader.rb
countries-5.3.0 lib/countries/sources/cldr/downloader.rb
countries-5.2.1 lib/countries/sources/cldr/downloader.rb
countries-5.2.0 lib/countries/sources/cldr/downloader.rb
countries-5.1.2 lib/countries/sources/cldr/downloader.rb
countries-5.1.1 lib/countries/sources/cldr/downloader.rb
countries-5.1.0 lib/countries/sources/cldr/downloader.rb
countries-5.0.2 lib/countries/sources/cldr/downloader.rb
countries-5.0.1 lib/countries/sources/cldr/downloader.rb