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 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.