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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 485843e469d396d96b1f4691904ed6d2e21139a31eea5840e6369dd10f2cfaec
4
- data.tar.gz: 596c49fcafcb9d05964c697f500e475adb2cf510baad1dd0f65df5e7fb1790bf
3
+ metadata.gz: 8b0561f3efeb9e2f8b6df281c782e7a92db1ed637269a175696c5f00b01d9628
4
+ data.tar.gz: 6aeb4594f53ace8a6a6052d7b27a7a4d009ae9df783cd695bc60e336e941493d
5
5
  SHA512:
6
- metadata.gz: 239e7f92f39acc3f49f345a49eb1e3140866b0eab2f471d4619010e4c09adefe05fe62267a20ac4a993d91f4054b46fc6f131a60949846bdadf56151b4a520fc
7
- data.tar.gz: 717c7a926fd9302c277d2d5d675eccc04b468bef6a12dd01148dab1270c491dd6091dd4ac1e746c4c09ae430a823ad3c6a828176f79e4d358d3e9783fbb245df
6
+ metadata.gz: 92c6714e4f737b1638ed532db80bb2d06b269aef1e97b9f4c16db9abef012e6a60831bf7cac4a6cc8089e80818ca0b559237832e864216c8680484638954ab6b
7
+ data.tar.gz: c508474747dffe47a37fd434dc7e16a7866461ebc0f44b1403c9c57f5ebb85c8d8c430715f3c189eddf3a69e8fa23dc91c0e796acb545b077fca3edd3429ceeb
data/.pryrc CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # .pryrc
2
4
  require 'europe'
3
5
 
@@ -6,3 +6,6 @@ rvm:
6
6
  - 2.4.0
7
7
  - 2.5.0
8
8
  - 2.5.1
9
+ - 2.6.0
10
+ - 2.6.2
11
+ - 2.6.3
@@ -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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in europe.gemspec
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rake/testtask'
3
5
  require 'europe/rake_task'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'europe/version'
2
4
  require 'europe/countries/countries'
3
5
  require 'europe/currency/currency'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Source: http://publications.europa.eu/code/pdf/370000en.htm
2
4
 
3
5
  require 'europe/countries/reversed'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Europe
2
4
  # Countries
3
5
  module Countries
@@ -1,4 +1,6 @@
1
1
  #!/bin/env ruby
2
+ # frozen_string_literal: true
3
+
2
4
  # Source: Wikipedia
3
5
  require 'europe/currency/exchange_rates'
4
6
 
@@ -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'.freeze
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/'.freeze
13
+ '/rest/data/v2.1/json/en/'
12
14
 
13
15
  def self.retrieve(dataset, filters)
14
16
  fetch_stats(dataset, filters)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Europe Gem
2
4
  module Europe
3
5
  # VAT
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Europe
2
4
  # RakeTask
3
5
  module RakeTask
@@ -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='.freeze
8
+ '?sort=1&file='
7
9
 
8
10
  desc 'Download categories from Eurostat Bulk Facility'
9
11
  task :download_categories do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Europe Gem
2
4
  module Europe
3
5
  # VAT
@@ -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'.freeze
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
@@ -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'.freeze
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.freeze
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].text if body[position]
71
+ body[position]&.text
70
72
  end
71
73
 
72
74
  def self.charge_vat?(origin_country, number)
@@ -1,4 +1,6 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Europe version
2
4
  module Europe
3
- VERSION = '0.0.13'.freeze
5
+ VERSION = '0.0.14'
4
6
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module Europe
@@ -1,4 +1,6 @@
1
1
  #!/bin/env ruby
2
+ # frozen_string_literal: true
3
+
2
4
  require 'test_helper'
3
5
 
4
6
  module Europe
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module Europe
@@ -1,4 +1,6 @@
1
1
  #!/bin/env ruby
2
+ # frozen_string_literal: true
3
+
2
4
  require 'test_helper'
3
5
 
4
6
  module Europe
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module Europe
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module Europe
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module Europe
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module Europe
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  $LOAD_PATH.unshift File.expand_path('../lib', __dir__)
2
4
  require 'europe'
3
5
  require 'minitest/autorun'
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.13
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: 2018-11-21 00:00:00.000000000 Z
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
- rubyforge_project:
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.