europe 0.0.13 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.
|