red_tape 1.0.0 → 2.0.0

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
- SHA1:
3
- metadata.gz: 5afad782530c754f09162af579b7b9746dce23cb
4
- data.tar.gz: 0ea8304a06a0c6e1d2a7b81e274136b0f44f86d1
2
+ SHA256:
3
+ metadata.gz: e4210369600cc36ec08361f0d998ac38fedcba09c1ba9cdda64aec856b819208
4
+ data.tar.gz: 0df8e03f89c55dcb2126337fdbb9b5052df43dda94610c7f5a37e6ad9ce59d1a
5
5
  SHA512:
6
- metadata.gz: 486094c7c50cf92d3e490c724f2b9d3d24fda38787abdb50b9f61fe68ebbadb35b7a82fc0fcbf7858b3b4c6a9c5ce61dc5bb4ad7d74279322f6881a15d20c0b9
7
- data.tar.gz: c81cbd34179e6063f1796003c3e778bb5caffa8c1b678b935a2e81a99b400e168563c5a3d9ce4a57ebcc962b326c41ef87f1104cfaa5047f63349ddddd6e3326
6
+ metadata.gz: cd02eb6f1c9c7941fc6d3e366a284cb0e626d15a4df44575b0cecdd09b136f02a964e820f4d4e2b9519e7090336b855fbb0526ce7ef825d613767c18b6513e87
7
+ data.tar.gz: 989905afefeb2d2a52c98cc843e0375349fd00e55c4f8d4f4b585781c801ff72fc8145b746ff36011255a34f59e3f22954496f341b64d1260204ece4acce89d8
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ ## 2.0.0
2
+ - Support REST API
3
+
4
+ ## 1.1.0
5
+ - Support Ruby 4
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2015 Matthias Grosser
3
+ Copyright (c) 2015-2026 Matthias Grosser
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,8 +1,11 @@
1
+ [![Gem Version](https://badge.fury.io/rb/red_tape.svg)](https://badge.fury.io/rb/red_tape)
2
+ [![build](https://github.com/mtgrosser/red_tape/actions/workflows/build.yml/badge.svg)](https://github.com/mtgrosser/red_tape/actions/workflows/build.yml)
3
+
1
4
  # RedTape
2
5
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/red_tape`. To experiment with that code, run `bin/console` for an interactive prompt.
6
+ Finanzamt-compliant VAT ID validation
4
7
 
5
- TODO: Delete this and the text above, and describe your gem
8
+ RedTape provides a Ruby wrapper fpr extended EU VAT ID validation using the German Bundeszentralamt für Steuern XML RPC API
6
9
 
7
10
  ## Installation
8
11
 
@@ -1,7 +1,9 @@
1
1
  module RedTape
2
2
  module Validators
3
3
  class DE < Validator
4
-
4
+ API_BASE = 'https://api.evatr.vies.bzst.de/app/v1'.freeze
5
+ QUERY_URL = "#{API_BASE}/abfrage".freeze
6
+
5
7
  attr_reader :own, :other, :options, :status
6
8
 
7
9
  def self.country; 'DE'; end
@@ -15,7 +17,7 @@ module RedTape
15
17
  end
16
18
 
17
19
  def status_code
18
- result['ErrorCode']
20
+ result['status']
19
21
  end
20
22
 
21
23
  def valid?
@@ -27,48 +29,48 @@ module RedTape
27
29
  private
28
30
 
29
31
  def validate
30
- uri = URI('https://evatr.bff-online.de/evatrRPC')
31
- params = { UstId_1: own, UstId_2: other,
32
- Firmenname: options[:company_name],
33
- Ort: options[:city],
34
- PLZ: options[:postal_code],
35
- Strasse: options[:street],
36
- Druck: options[:print] ? 'Ja' : 'Nein' }
37
- uri.query = URI.encode_www_form(params)
38
- xml = Net::HTTP.get(uri)
39
- parser = XMLRPC::XMLParser::REXMLStreamParser::StreamListener.new
40
- parser.parse(xml)
41
- @result = Hash[parser.params]
32
+ body = { anfragendeUstid: own,
33
+ angefragteUstid: other,
34
+ firmenname: options[:company_name],
35
+ strasse: options[:street],
36
+ plz: options[:postal_code],
37
+ ort: options[:city] }.compact
38
+ response = Net::HTTP.post(URI(QUERY_URL), body.to_json, 'Content-Type' => 'application/json')
39
+ @result = JSON.parse(response.body)
42
40
  set_status
43
- return true if '200' == status_code
41
+ 'evatr-0000' == status_code
42
+ rescue => e
44
43
  false
45
44
  end
46
45
 
47
46
  def set_status
48
47
  @status =
49
- { '200' => :valid, #'Die angefragte USt-IdNr. ist gültig.',
50
- '201' => :invalid, #'Die angefragte USt-IdNr. ist ungültig.',
51
- '202' => :unregistered, #'Die angefragte USt-IdNr. ist ungültig. Sie ist nicht in der Unternehmerdatei des betreffenden EU-Mitgliedstaates registriert. Hinweis: Ihr Geschäftspartner kann seine gültige USt-IdNr. bei der für ihn zuständigen Finanzbehörde in Erfahrung bringen. Möglicherweise muss er einen Antrag stellen, damit seine USt-IdNr. in die Datenbank aufgenommen wird.',
52
- '203' => :invalid, #"Die angefragte USt-IdNr. ist ungültig. Sie ist erst ab dem #{result['Gueltig_ab']} gültig",
53
- '204' => :expired, #"Die angefragte USt-IdNr. ist ungültig. Sie war im Zeitraum von #{result['Gueltig_ab']} bis #{result['Gueltig_bis']} gültig",
54
- '205' => :unavailable, #'Ihre Anfrage kann derzeit durch den angefragten EU-Mitgliedstaat oder aus anderen Gründen nicht beantwortet werden. Bitte versuchen Sie es später noch einmal. Bei wiederholten Problemen wenden Sie sich bitte an das Bundeszentralamt für Steuern - Dienstsitz Saarlouis.',
55
- '206' => :own_vat_id_invalid, #'Ihre deutsche USt-IdNr. ist ungültig. Eine Bestätigungsanfrage ist daher nicht möglich. Den Grund hierfür können Sie beim Bundeszentralamt für Steuern - Dienstsitz Saarlouis - erfragen.',
56
- '207' => :unauthorized, #'Ihnen wurde die deutsche USt-IdNr. ausschliesslich zu Zwecken der Besteuerung des innergemeinschaftlichen Erwerbs erteilt. Sie sind somit nicht berechtigt, Bestätigungsanfragen zu stellen.',
57
- '208' => :busy, #'Für die von Ihnen angefragte USt-IdNr. läuft gerade eine Anfrage von einem anderen Nutzer. Eine Bearbeitung ist daher nicht möglich. Bitte versuchen Sie es später noch einmal.',
58
- '209' => :invalid_format, #'Die angefragte USt-IdNr. ist ungültig. Sie entspricht nicht dem Aufbau, der für diesen EU-Mitgliedstaat gilt.',
59
- '210' => :invalid_checksum, #'Die angefragte USt-IdNr. ist ungültig. Sie entspricht nicht den Prüfziffernregeln die für diesen EU-Mitgliedstaat gelten.',
60
- '211' => :invalid_characters, #'Die angefragte USt-IdNr. ist ungültig. Sie enthält unzulässige Zeichen (wie z.B. Leerzeichen oder Punkt oder Bindestrich usw.).',
61
- '212' => :invalid_country, #'Die angefragte USt-IdNr. ist ungültig. Sie enthält ein unzulässiges Länderkennzeichen.',
62
- '213' => :german, #'Die Abfrage einer deutschen USt-IdNr. ist nicht möglich.',
63
- '214' => :own_vat_id_invalid, #'Ihre deutsche USt-IdNr. ist fehlerhaft. Sie beginnt mit "DE" gefolgt von 9 Ziffern.',
64
- '215' => :data_insufficient_for_simple_validation, #'Ihre Anfrage enthält nicht alle notwendigen Angaben für eine einfache Bestätigungsanfrage und kann deshalb nicht bearbeitet werden.',
65
- '216' => :data_insufficient_for_extended_validation, #'Ihre Anfrage enthält nicht alle notwendigen Angaben für eine qualifizierte Bestätigungsanfrage (Ihre deutsche USt-IdNr., die ausl. USt-IdNr., Firmenname einschl. Rechtsform und Ort). Es wurde eine einfache Bestätigungsanfrage durchgeführt mit folgenden Ergebnis: Die angefragte USt-IdNr. ist gültig.',
66
- '217' => :query_error, #'Bei der Verarbeitung der Daten aus dem angefragten EU-Mitgliedstaat ist ein Fehler aufgetreten. Ihre Anfrage kann deshalb nicht bearbeitet werden.',
67
- '218' => :simple_valid, #'Eine qualifizierte Bestätigung ist zur Zeit nicht möglich. Es wurde eine einfache Bestätigungsanfrage mit folgendem Ergebnis durchgeführt: Die angefragte USt-IdNr. ist gültig.',
68
- '219' => :query_error_simple_valid, #'Bei der Durchführung der qualifizierten Bestätigungsanfrage ist ein Fehler aufgetreten. Es wurde eine einfache Bestätigungsanfrage mit folgendem Ergebnis durchgeführt: Die angefragte USt-IdNr. ist gültig.',
69
- '220' => :print_error, #'Bei der Anforderung der amtlichen Bestätigungsmitteilung ist ein Fehler aufgetreten. Sie werden kein Schreiben erhalten.',
70
- '221' => :unprocessable_request, #'Die Anfragedaten enthalten nicht alle notwendigen Parameter oder einen ungültigen Datentyp. Weitere Informationen erhalten Sie bei den Hinweisen zum Schnittstellen-Aufruf.',
71
- '999' => :service_unavailable #'Eine Bearbeitung Ihrer Anfrage ist zurzeit nicht möglich. Bitte versuchen Sie es später noch einmal.'
48
+ { 'evatr-0000' => :valid, #'Die angefragte USt-IdNr. ist zum Anfragezeitpunkt gültig.',
49
+ 'evatr-0001' => :please_confirm_privacy, #'Bitte bestätigen Sie den Datenschutzhinweis.',
50
+ 'evatr-0002' => :data_insufficient, #'Mindestens eins der Pflichtfelder ist nicht besetzt.',
51
+ 'evatr-0003' => :unqualified_valid, #'Die angefragte USt-IdNr. ist zum Anfragezeitpunkt gültig. Mindestens eines der Pflichtfelder für eine qualifizierte Bestätigungsanfrage ist nicht besetzt.',
52
+ 'evatr-0004' => :own_vat_id_invalid, #'Die anfragende DE USt-IdNr. ist syntaktisch falsch. Sie passt nicht in das deutsche Erzeugungsschema.',
53
+ 'evatr-0005' => :invalid, #'Die angegebene angefragte USt-IdNr. ist syntaktisch falsch.',
54
+ 'evatr-0006' => :unauthorized, #'Die anfragende DE USt-IdNr. ist nicht berechtigt eine DE USt-IdNr. anzufragen.',
55
+ 'evatr-0007' => :unprocessable_request, # 'Fehlerhafter Aufruf.',
56
+ 'evatr-0008' => :rate_limited, #'Die maximale Anzahl von qualifizierten Bestätigungsabfragen für diese Session wurde erreicht. Bitte starten Sie erneut mit einer einfachen Bestätigungsabfrage.',
57
+ 'evatr-0011' => :busy, #'Eine Bearbeitung Ihrer Anfrage ist zurzeit nicht möglich. Bitte versuchen Sie es später noch einmal.',
58
+ 'evatr-0012' => :invalid, #'Die angefragte USt-IdNr. ist syntaktisch falsch. Sie passt nicht in das Erzeugungsschema.',
59
+ 'evatr-0013' => :busy, #'Eine Bearbeitung Ihrer Anfrage ist zurzeit nicht möglich. Bitte versuchen Sie es später noch einmal.',
60
+ 'evatr-1001' => :busy, #'Eine Bearbeitung Ihrer Anfrage ist zurzeit nicht möglich. Bitte versuchen Sie es später noch einmal.',
61
+ 'evatr-1002' => :busy, #'Eine Bearbeitung Ihrer Anfrage ist zurzeit nicht möglich. Bitte versuchen Sie es später noch einmal.',
62
+ 'evatr-1003' => :busy, #'Eine Bearbeitung Ihrer Anfrage ist zurzeit nicht möglich. Bitte versuchen Sie es später noch einmal.',
63
+ 'evatr-1004' => :busy, #'Eine Bearbeitung Ihrer Anfrage ist zurzeit nicht möglich. Bitte versuchen Sie es später noch einmal.',
64
+ 'evatr-2001' => :unregistered, #'Die angefragte USt-IdNr. ist zum Anfragezeitpunkt nicht vergeben.',
65
+ 'evatr-2002' => :invalid, #'Die angefragte USt-IdNr. ist zum Anfragezeitpunkt nicht gültig. Sie ist erst gültig ab dem Datum im Feld gueltigAb.',
66
+ 'evatr-2003' => :invalid, #'Das angegebene Länderkennzeichen der angefragten USt-IdNr. ist nicht gültig.',
67
+ 'evatr-2004' => :busy, #'Eine Bearbeitung Ihrer Anfrage ist zurzeit nicht möglich. Bitte versuchen Sie es später noch einmal.',
68
+ 'evatr-2005' => :invalid, #'Die angegebene eigene DE USt-IdNr. ist zum Anfragezeitpunkt nicht gültig.',
69
+ 'evatr-2006' => :invalid, #'Die angefragte USt-IdNr. ist zum Anfragezeitpunkt nicht gültig. Sie war gültig im Zeitraum, der durch die Werte in den Feldern gueltigAb und gueltigBis beschrieben ist.',
70
+ 'evatr-2007' => :service_unavailable, #'Bei der Verarbeitung der Daten aus dem angefragten EU-Mitgliedstaat ist ein Fehler aufgetreten. Ihre Anfrage kann deshalb nicht bearbeitet werden.',
71
+ 'evatr-2008' => :unqualified_valid, #'Die angefragte USt-IdNr. ist zum Anfragezeitpunkt gültig. Für die qualifizierte Bestätigungsanfrage liegt einer Besonderheit vor. Für Rückfragen wenden Sie sich an das BZSt.',
72
+ 'evatr-2011' => :busy, #'Eine Bearbeitung Ihrer Anfrage ist zurzeit nicht möglich. Bitte versuchen Sie es später noch einmal.',
73
+ 'evatr-3011' => :busy, #'Eine Bearbeitung Ihrer Anfrage ist zurzeit nicht möglich. Bitte versuchen Sie es später noch einmal.'}
72
74
  }[status_code]
73
75
  end
74
76
  end
@@ -1,3 +1,3 @@
1
1
  module RedTape
2
- VERSION = '1.0.0'
2
+ VERSION = '2.0.0'
3
3
  end
data/lib/red_tape.rb CHANGED
@@ -1,6 +1,6 @@
1
- require 'xmlrpc/client'
2
- require 'rexml/document'
3
- require 'xmlrpc/parser'
1
+ require 'json'
2
+ require 'uri'
3
+ require 'net/http'
4
4
 
5
5
  require_relative 'red_tape/version'
6
6
  require_relative 'red_tape/errors'
@@ -27,10 +27,8 @@ module RedTape
27
27
  end
28
28
  end
29
29
 
30
- def valid?(own, other)
31
- if validator = validator_for(country(own))
32
- validator.new(own, other).valid?
33
- end
30
+ def valid?(own, other, options = {})
31
+ validator(own, other, options)&.valid?
34
32
  end
35
33
 
36
34
  end
metadata CHANGED
@@ -1,107 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: red_tape
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthias Grosser
8
- autorequire:
9
- bindir: exe
8
+ bindir: bin
10
9
  cert_chain: []
11
- date: 2017-04-26 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: xmlrpc
13
+ name: json
15
14
  requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 0.3.0
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 0.3.0
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '1.9'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '1.9'
41
- - !ruby/object:Gem::Dependency
42
- name: rake
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '10.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '10.0'
55
- - !ruby/object:Gem::Dependency
56
- name: minitest
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
15
  requirements:
66
16
  - - ">="
67
17
  - !ruby/object:Gem::Version
68
18
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: webmock
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: byebug
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: simplecov
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
19
+ type: :runtime
105
20
  prerelease: false
106
21
  version_requirements: !ruby/object:Gem::Requirement
107
22
  requirements:
@@ -116,25 +31,18 @@ executables: []
116
31
  extensions: []
117
32
  extra_rdoc_files: []
118
33
  files:
119
- - ".gitignore"
120
- - ".ruby-version"
121
- - Gemfile
34
+ - CHANGELOG.md
122
35
  - LICENSE
123
36
  - README.md
124
- - Rakefile
125
- - bin/console
126
- - bin/setup
127
37
  - lib/red_tape.rb
128
38
  - lib/red_tape/errors.rb
129
39
  - lib/red_tape/support.rb
130
40
  - lib/red_tape/validator.rb
131
41
  - lib/red_tape/validators/de.rb
132
42
  - lib/red_tape/version.rb
133
- - red_tape.gemspec
134
43
  homepage: https://github.com/mtgrosser/red_tape
135
44
  licenses: []
136
45
  metadata: {}
137
- post_install_message:
138
46
  rdoc_options: []
139
47
  require_paths:
140
48
  - lib
@@ -142,16 +50,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
142
50
  requirements:
143
51
  - - ">="
144
52
  - !ruby/object:Gem::Version
145
- version: 2.3.0
53
+ version: 3.0.0
146
54
  required_rubygems_version: !ruby/object:Gem::Requirement
147
55
  requirements:
148
56
  - - ">="
149
57
  - !ruby/object:Gem::Version
150
58
  version: '0'
151
59
  requirements: []
152
- rubyforge_project:
153
- rubygems_version: 2.6.11
154
- signing_key:
60
+ rubygems_version: 4.0.3
155
61
  specification_version: 4
156
62
  summary: Finanzamt-compliant VAT ID validation
157
63
  test_files: []
data/.gitignore DELETED
@@ -1,35 +0,0 @@
1
- *.rbc
2
- capybara-*.html
3
- .rspec
4
- /log
5
- /tmp
6
- /db/*.sqlite3
7
- /db/*.sqlite3-journal
8
- /public/system
9
- /coverage/
10
- /spec/tmp
11
- **.orig
12
- rerun.txt
13
- pickle-email-*.html
14
-
15
- # TODO Comment out these rules if you are OK with secrets being uploaded to the repo
16
- config/initializers/secret_token.rb
17
- config/secrets.yml
18
-
19
- ## Environment normalisation:
20
- /.bundle
21
- /vendor/bundle
22
-
23
- # these should all be checked in to normalise the environment:
24
- # Gemfile.lock, .ruby-version, .ruby-gemset
25
-
26
- # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
27
- .rvmrc
28
-
29
- # if using bower-rails ignore default bower_components path bower.json files
30
- /vendor/assets/bower_components
31
- *.bowerrc
32
- bower.json
33
-
34
- # Ignore pow environment settings
35
- .powenv
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.4.1
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in red_tape.gemspec
4
- gemspec
data/Rakefile DELETED
@@ -1,23 +0,0 @@
1
- require 'rake'
2
- require 'rake/testtask'
3
- require 'rdoc/task'
4
-
5
- desc 'Default: run unit tests.'
6
- task :default => :test
7
-
8
- desc 'Run all tests'
9
- Rake::TestTask.new(:test) do |t|
10
- t.libs << 'lib'
11
- t.test_files = FileList['test/*_test.rb']
12
- t.verbose = true
13
- end
14
-
15
- desc 'Generate documentation'
16
- Rake::RDocTask.new(:rdoc) do |rdoc|
17
- rdoc.rdoc_dir = 'rdoc'
18
- rdoc.title = 'Maybee'
19
- rdoc.options << '--line-numbers' << '--inline-source'
20
- rdoc.rdoc_files.include('README')
21
- rdoc.rdoc_files.include('lib/**/*.rb')
22
- end
23
-
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "red_tape"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start
data/bin/setup DELETED
@@ -1,7 +0,0 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
-
5
- bundle install
6
-
7
- # Do any other automated setup that you need to do here
data/red_tape.gemspec DELETED
@@ -1,32 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'red_tape/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "red_tape"
8
- spec.version = RedTape::VERSION
9
- spec.authors = ["Matthias Grosser"]
10
- spec.email = ["mtgrosser@gmx.net"]
11
-
12
- spec.summary = %q{Finanzamt-compliant VAT ID validation}
13
- spec.description = %q{Extended validation using the German Bundeszentralamt für Steuern XML RPC API}
14
- spec.homepage = "https://github.com/mtgrosser/red_tape"
15
-
16
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
- spec.bindir = "exe"
18
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
- spec.require_paths = ["lib"]
20
-
21
- spec.required_ruby_version = '>= 2.3.0'
22
-
23
- spec.add_dependency 'xmlrpc', '~> 0.3.0'
24
-
25
- spec.add_development_dependency "bundler", "~> 1.9"
26
- spec.add_development_dependency "rake", "~> 10.0"
27
- #spec.add_development_dependency 'net-http-spy'
28
- spec.add_development_dependency 'minitest'
29
- spec.add_development_dependency 'webmock'
30
- spec.add_development_dependency 'byebug'
31
- spec.add_development_dependency 'simplecov'
32
- end