Sha256: 5fa3d345286909ebc94e5adfa0fdda10b3e8eeb6cf5aa27d1f599b56323a634e

Contents?: true

Size: 855 Bytes

Versions: 7

Compression:

Stored size: 855 Bytes

Contents

require 'net/http'
require 'uri'
require 'json'

# Europe Gem
module Europe
  # Eurostat
  module Eurostat
    # http://ec.europa.eu/eurostat/data/database
    STAT_URL = 'http://ec.europa.eu/eurostat/wdds' \
               '/rest/data/v2.1/json/en/'.freeze

    def self.retrieve(dataset, filters)
      fetch_stats(dataset, filters)
    end

    def self.generate_url(dataset, _filters)
      uri = URI.parse(STAT_URL + dataset)
      params = {
        precision: 1, geo: 'EU28',
        unit: 'EUR_HAB', time: '2010',
        indic_na: 'B1GM', unitLabel: 'code'
      }
      uri.query = URI.encode_www_form(params)
      # p URI.encode_www_form(params)
      # p uri.to_s
      uri
    end

    def self.fetch_stats(dataset, filters)
      uri = generate_url(dataset, filters)
      resp = Net::HTTP.get(uri)
      JSON.parse(resp)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
europe-0.0.13 lib/europe/eurostat/eurostat.rb
europe-0.0.12 lib/europe/eurostat/eurostat.rb
europe-0.0.11 lib/europe/eurostat/eurostat.rb
europe-0.0.10 lib/europe/eurostat/eurostat.rb
europe-0.0.9 lib/europe/eurostat/eurostat.rb
europe-0.0.8 lib/europe/eurostat/eurostat.rb
europe-0.0.7 lib/europe/eurostat/eurostat.rb