europe 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6039ec82c528518055ad094e19437f8190da44ea
4
- data.tar.gz: ca869802ec44bb4a7e79ef3f4f6315cd4fcff733
2
+ SHA256:
3
+ metadata.gz: c2e7e1e3027e935421fd4e15e7164cff183a1345deed66a5a2c764b35e63667a
4
+ data.tar.gz: ffbaee22b0ec7bbccedb5a9ae2e269deed652007ed28e3bed0faf5b8818cda7b
5
5
  SHA512:
6
- metadata.gz: 6812433fe3589e26e8816f8adc369dbf2593b98137a99d0af3767adfdabcdec74747a8bf743cc1ff6fdbeec47051ce76efe5277157143365fac8b3a49185320e
7
- data.tar.gz: c642b1f354545f0f6b96bc48d3702e3d63206c852838d1a862f820fca0be60f0a7644a7ab910e605807da96c30e87c437bd14d0306457855da61831183e81c4b
6
+ metadata.gz: 559cecc3c404bf11e187c1ff2641ede7721bb66b34152be7d7981302561c1bd0593755eac3b8f964ede852b27f37794200cf5623d124d4c61f2ef1b1f3d79755
7
+ data.tar.gz: 8b68f205e4b6bb3972ba988771c965948b6b8bb7e8295f40922c54d8741b6ec615cb70d2caa9e7491518797bd2c2c08b9482cbbdb1cb0195d64ce8502505ad81
@@ -2,50 +2,26 @@ module Europe
2
2
  module Vat
3
3
  # Rates
4
4
  module Rates
5
- RATES_URL = 'http://ec.europa.eu/taxation_customs/tic/' \
6
- 'public/vatRates/vatratesSearch.html'.freeze
5
+ RATES_URL = 'https://europa.eu/youreurope/business/' \
6
+ 'vat-customs/buy-sell/vat-rates/index_en.htm'.freeze
7
7
  def self.retrieve
8
8
  resp = fetch_rates
9
9
  return resp if resp == :failed
10
10
  extract_rates(resp)
11
11
  end
12
12
 
13
- def self.extract_country_code(data)
14
- Europe::Countries::Reversed.generate(:name) \
15
- [data.css('td').first.text.strip!]
16
- end
17
-
18
- def self.extract_rate_number(data)
19
- data.css('td')[1].css('div span').text.tr('%', '').to_f
20
- end
21
-
22
13
  def self.extract_rates(resp)
23
14
  rates = {}
24
15
  doc = Nokogiri::XML(resp)
25
- doc.css('#national tbody tr')[0..-2].each do |data|
26
- key = extract_country_code(data)
27
- rates[key] = extract_rate_number(data)
16
+ doc.css('body tbody tr')[2..-1].each do |data|
17
+ key = data.css('td').children[1].text.to_sym
18
+ rates[key] = data.css('td').children[2].text.to_f
28
19
  end
29
20
  rates
30
21
  end
31
22
 
32
- def self.generate_url
33
- uri = URI.parse(RATES_URL)
34
- params = 'listOfTypes=Standard&dateFilter=' +
35
- Time.new.strftime('%d/%m/%Y')
36
- [*1..Europe::Countries::COUNTRIES.count].each do |index|
37
- params += '&listOfMsa=' + index.to_s
38
- end
39
- [uri, params]
40
- end
41
-
42
23
  def self.fetch_rates
43
- uri, params = generate_url
44
- req = Net::HTTP::Post.new(uri.path)
45
- req.body = params
46
- resp = Net::HTTP.start(uri.hostname, uri.port) do |http|
47
- http.request(req)
48
- end
24
+ resp = Net::HTTP.get_response(URI.parse(RATES_URL))
49
25
  resp.code.to_i == 200 ? resp.body : :failed
50
26
  end
51
27
  end
@@ -1,4 +1,4 @@
1
1
  # Europe version
2
2
  module Europe
3
- VERSION = '0.0.7'.freeze
3
+ VERSION = '0.0.8'.freeze
4
4
  end
@@ -8,6 +8,7 @@ module Europe
8
8
  include Benchmark
9
9
 
10
10
  def test_eurostat_retrieval
11
+ skip
11
12
  Europe::Eurostat.retrieve('nama_gdp_c', '')
12
13
  end
13
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: europe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - VvanGemert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-16 00:00:00.000000000 Z
11
+ date: 2018-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -210,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
210
210
  version: '0'
211
211
  requirements: []
212
212
  rubyforge_project:
213
- rubygems_version: 2.6.13
213
+ rubygems_version: 2.7.6
214
214
  signing_key:
215
215
  specification_version: 4
216
216
  summary: Europe is a gem for retrieving and validating EU government data.