europe 0.0.13 → 0.0.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.pryrc +2 -0
- data/.travis.yml +3 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +2 -0
- data/Rakefile +2 -0
- data/lib/europe.rb +2 -0
- data/lib/europe/countries/countries.rb +2 -0
- data/lib/europe/countries/reversed.rb +2 -0
- data/lib/europe/currency/currency.rb +2 -0
- data/lib/europe/currency/exchange_rates.rb +5 -1
- data/lib/europe/eurostat/eurostat.rb +3 -1
- data/lib/europe/postal/postal.rb +2 -0
- data/lib/europe/rake_task.rb +2 -0
- data/lib/europe/tasks/eurostat.rake +3 -1
- data/lib/europe/vat/format.rb +2 -0
- data/lib/europe/vat/rates.rb +3 -1
- data/lib/europe/vat/vat.rb +5 -3
- data/lib/europe/version.rb +3 -1
- data/test/europe/countries/country_test.rb +2 -0
- data/test/europe/currency/currency_test.rb +2 -0
- data/test/europe/currency/exchange_rates_test.rb +2 -0
- data/test/europe/eurostat/eurostat_test.rb +2 -0
- data/test/europe/postal/format_test.rb +2 -0
- data/test/europe/vat/format_test.rb +2 -0
- data/test/europe/vat/rates_test.rb +2 -0
- data/test/europe/vat/validation_test.rb +2 -0
- data/test/test_helper.rb +2 -0
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b0561f3efeb9e2f8b6df281c782e7a92db1ed637269a175696c5f00b01d9628
|
4
|
+
data.tar.gz: 6aeb4594f53ace8a6a6052d7b27a7a4d009ae9df783cd695bc60e336e941493d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92c6714e4f737b1638ed532db80bb2d06b269aef1e97b9f4c16db9abef012e6a60831bf7cac4a6cc8089e80818ca0b559237832e864216c8680484638954ab6b
|
7
|
+
data.tar.gz: c508474747dffe47a37fd434dc7e16a7866461ebc0f44b1403c9c57f5ebb85c8d8c430715f3c189eddf3a69e8fa23dc91c0e796acb545b077fca3edd3429ceeb
|
data/.pryrc
CHANGED
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,11 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
+
## 0.0.14
|
6
|
+
- Fixed rubocop syntax issues
|
7
|
+
- Fixed issue with retrieving exchange rates when no valid JSON is returned
|
8
|
+
- [Full Changelog](https://github.com/VvanGemert/europe/compare/v0.0.13...v0.0.14)
|
9
|
+
|
5
10
|
## 0.0.13
|
6
11
|
- Fixed rubocop syntax issues
|
7
12
|
- Changed ExchangeRate source from XML to JSON
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
data/lib/europe.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'net/http'
|
2
4
|
require 'date'
|
3
5
|
|
@@ -7,7 +9,7 @@ module Europe
|
|
7
9
|
module Currency
|
8
10
|
# exchange rates
|
9
11
|
module ExchangeRates
|
10
|
-
EXCHANGE_URL = 'https://www.floatrates.com/daily/eur.json'
|
12
|
+
EXCHANGE_URL = 'https://www.floatrates.com/daily/eur.json'
|
11
13
|
|
12
14
|
def self.retrieve
|
13
15
|
resp = Net::HTTP.get_response(URI.parse(EXCHANGE_URL))
|
@@ -21,6 +23,8 @@ module Europe
|
|
21
23
|
rates: {} }
|
22
24
|
|
23
25
|
filter_rates(data, rates)
|
26
|
+
rescue JSON::ParserError
|
27
|
+
:failed
|
24
28
|
end
|
25
29
|
|
26
30
|
def self.filter_rates(data, rates)
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'net/http'
|
2
4
|
require 'uri'
|
3
5
|
require 'json'
|
@@ -8,7 +10,7 @@ module Europe
|
|
8
10
|
module Eurostat
|
9
11
|
# http://ec.europa.eu/eurostat/data/database
|
10
12
|
STAT_URL = 'http://ec.europa.eu/eurostat/wdds' \
|
11
|
-
'/rest/data/v2.1/json/en/'
|
13
|
+
'/rest/data/v2.1/json/en/'
|
12
14
|
|
13
15
|
def self.retrieve(dataset, filters)
|
14
16
|
fetch_stats(dataset, filters)
|
data/lib/europe/postal/postal.rb
CHANGED
data/lib/europe/rake_task.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'open-uri'
|
2
4
|
|
3
5
|
namespace :eurostat do
|
4
6
|
EUROSTAT_BULK_URL = 'http://ec.europa.eu/eurostat/' \
|
5
7
|
'estat-navtree-portlet-prod/BulkDownloadListing' \
|
6
|
-
'?sort=1&file='
|
8
|
+
'?sort=1&file='
|
7
9
|
|
8
10
|
desc 'Download categories from Eurostat Bulk Facility'
|
9
11
|
task :download_categories do
|
data/lib/europe/vat/format.rb
CHANGED
data/lib/europe/vat/rates.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'rexml/document'
|
2
4
|
|
3
5
|
module Europe
|
@@ -5,7 +7,7 @@ module Europe
|
|
5
7
|
# Rates
|
6
8
|
module Rates
|
7
9
|
RATES_URL = 'https://europa.eu/youreurope/business/taxation/' \
|
8
|
-
'vat/vat-rules-rates/index_en.htm'
|
10
|
+
'vat/vat-rules-rates/index_en.htm'
|
9
11
|
def self.retrieve
|
10
12
|
resp = fetch_rates
|
11
13
|
return resp if resp == :failed
|
data/lib/europe/vat/vat.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'europe/vat/rates'
|
2
4
|
require 'europe/vat/format'
|
3
5
|
require 'uri'
|
@@ -10,13 +12,13 @@ module Europe
|
|
10
12
|
# VAT
|
11
13
|
module Vat
|
12
14
|
WSDL = 'http://ec.europa.eu/taxation_customs/vies/' \
|
13
|
-
'services/checkVatService'
|
15
|
+
'services/checkVatService'
|
14
16
|
HEADERS = {
|
15
17
|
'Content-Type' => 'text/xml;charset=UTF-8',
|
16
18
|
'SOAPAction' => ''
|
17
19
|
}.freeze
|
18
20
|
|
19
|
-
BODY = <<-XML
|
21
|
+
BODY = <<-XML
|
20
22
|
<soapenv:Envelope
|
21
23
|
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
|
22
24
|
xmlns:urn="urn:ec.europa.eu:taxud:vies:services:checkVat:types">
|
@@ -66,7 +68,7 @@ module Europe
|
|
66
68
|
end
|
67
69
|
|
68
70
|
def self.extract_data(body, position)
|
69
|
-
body[position]
|
71
|
+
body[position]&.text
|
70
72
|
end
|
71
73
|
|
72
74
|
def self.charge_vat?(origin_country, number)
|
data/lib/europe/version.rb
CHANGED
data/test/test_helper.rb
CHANGED
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.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- VvanGemert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-08-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: byebug
|
@@ -196,8 +196,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
196
|
- !ruby/object:Gem::Version
|
197
197
|
version: '0'
|
198
198
|
requirements: []
|
199
|
-
|
200
|
-
rubygems_version: 2.7.7
|
199
|
+
rubygems_version: 3.0.3
|
201
200
|
signing_key:
|
202
201
|
specification_version: 4
|
203
202
|
summary: Europe is a gem for retrieving and validating EU government data.
|