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