valvat 1.2.1 → 1.3.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/workflows/ruby.yml +9 -5
- data/CHANGES.md +8 -1
- data/README.md +2 -2
- data/certs/mite.pem +26 -0
- data/gemfiles/activemodel-5 +0 -2
- data/gemfiles/activemodel-6 +0 -5
- data/gemfiles/activemodel-7 +0 -5
- data/gemfiles/standalone +0 -5
- data/lib/valvat/checksum/fr.rb +14 -0
- data/lib/valvat/lookup/base.rb +1 -1
- data/lib/valvat/syntax.rb +1 -1
- data/lib/valvat/version.rb +1 -1
- data/lib/valvat.rb +5 -0
- data/spec/valvat/checksum/es_spec.rb +1 -1
- data/spec/valvat/checksum/fr_spec.rb +1 -1
- data/spec/valvat/lookup_spec.rb +2 -2
- data/spec/valvat_spec.rb +25 -2
- data/valvat.gemspec +2 -3
- data.tar.gz.sig +0 -0
- metadata +30 -63
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f03e6103f577ebcec25d3cbd5c4e2e13c914945c13a1767912f9f49380c9a6ae
|
|
4
|
+
data.tar.gz: db8423cf0d17a8c3a7a840d7d22ff887b6296442da31fc11931aa24aafd6c630
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c9c92f073fc78fae74582d093bdf76f2747dab68aa44eb7f1106bb82bdc8f63b47a5236e8e1d766bc49a3e68b74f3723c45be6ff9e91f96548cfc526cad33ef1
|
|
7
|
+
data.tar.gz: 3127010ce2d38d7a75ebcb0688850414d8149cb9db5fe8f6f575c2d1bf0ff2bae0b68a39878df8f851654b5d6cea766b2d63c91639aca5d7696776ed01ed3042
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/.github/workflows/ruby.yml
CHANGED
|
@@ -12,22 +12,26 @@ on:
|
|
|
12
12
|
jobs:
|
|
13
13
|
test:
|
|
14
14
|
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
|
15
|
-
runs-on: ubuntu-
|
|
15
|
+
runs-on: ubuntu-20.04
|
|
16
16
|
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
|
|
17
17
|
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}
|
|
18
18
|
strategy:
|
|
19
19
|
matrix:
|
|
20
|
-
ruby-version: ['2.6', '2.7', '3.0', '3.1', 'jruby-9.
|
|
20
|
+
ruby-version: ['2.6', '2.7', '3.0', '3.1', '3.2', 'jruby-9.4.0.0']
|
|
21
21
|
gemfile: [ 'standalone', 'activemodel-5', 'activemodel-6', 'activemodel-7' ]
|
|
22
22
|
exclude:
|
|
23
|
-
- ruby-version: '3.
|
|
23
|
+
- ruby-version: '3.2'
|
|
24
|
+
gemfile: 'activemodel-5'
|
|
25
|
+
- ruby-version: '3.1'
|
|
24
26
|
gemfile: 'activemodel-5'
|
|
25
27
|
- ruby-version: '3.1'
|
|
28
|
+
gemfile: 'standalone'
|
|
29
|
+
- ruby-version: '3.0'
|
|
26
30
|
gemfile: 'activemodel-5'
|
|
27
31
|
- ruby-version: '2.6'
|
|
28
32
|
gemfile: 'activemodel-7'
|
|
29
|
-
- ruby-version: 'jruby-9.
|
|
30
|
-
gemfile: 'activemodel-
|
|
33
|
+
- ruby-version: 'jruby-9.4.0.0'
|
|
34
|
+
gemfile: 'activemodel-5'
|
|
31
35
|
|
|
32
36
|
steps:
|
|
33
37
|
- uses: actions/checkout@v2
|
data/CHANGES.md
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
|
|
2
2
|
### dev
|
|
3
3
|
|
|
4
|
-
[full changelog](http://github.com/yolk/valvat/compare/v1.
|
|
4
|
+
[full changelog](http://github.com/yolk/valvat/compare/v1.3.0...master)
|
|
5
|
+
|
|
6
|
+
### 1.3.0 / 2023-04-19
|
|
7
|
+
|
|
8
|
+
[full changelog](http://github.com/yolk/valvat/compare/v1.2.1...v1.3.0)
|
|
9
|
+
|
|
10
|
+
* Checksum::FR: Correct validation for french VAT ids not starting with two numerical chars #119
|
|
11
|
+
* Equality for Valvat objects #120
|
|
5
12
|
|
|
6
13
|
### 1.2.1 / 2022-10-05
|
|
7
14
|
|
data/README.md
CHANGED
|
@@ -22,7 +22,7 @@ Northern Ireland received its own VAT number prefix - XI which is supported by V
|
|
|
22
22
|
* I18n locales for language specific error messages in English, German, French, Spanish, Italian, Portuguese, Polish, Swedish, Dutch, Danish, Czech, Slovakian, Hungarian, Bulgarian, Romanian, Latvian, Catalan, Norwegian, and Finnish.
|
|
23
23
|
* *Experimental* checksum verification
|
|
24
24
|
|
|
25
|
-
valvat is tested and works with ruby MRI 2.6/2.7/3.0/3.1, jruby and ActiveModel 5/6/7. If you need support for ruby down to 1.9.3 and ActiveModel 3 and 4 use [v1.0.1](https://github.com/yolk/valvat/tree/v1.0.1).
|
|
25
|
+
valvat is tested and works with ruby MRI 2.6/2.7/3.0/3.1/3.2, jruby and ActiveModel 5/6/7. If you need support for ruby down to 1.9.3 and ActiveModel 3 and 4 use [v1.0.1](https://github.com/yolk/valvat/tree/v1.0.1).
|
|
26
26
|
|
|
27
27
|
## Installation
|
|
28
28
|
|
|
@@ -129,7 +129,7 @@ Valvat.new("IE6388047V").exists?(raise_error: true)
|
|
|
129
129
|
|
|
130
130
|
This raises `Valvat::ServiceUnavailable` or `Valvat::MemberStateUnavailable` instead of returning `nil`.
|
|
131
131
|
|
|
132
|
-
Visit [
|
|
132
|
+
Visit [https://ec.europa.eu/taxation_customs/vies/#/help](https://ec.europa.eu/taxation_customs/vies/#/help) for more accurate information at what time the service for a specific member state will be down.
|
|
133
133
|
|
|
134
134
|
### Handling of other errors
|
|
135
135
|
|
data/certs/mite.pem
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIEbDCCAtSgAwIBAgIBATANBgkqhkiG9w0BAQsFADA+MRIwEAYDVQQDDAlzZWJh
|
|
3
|
+
c3RpYW4xFDASBgoJkiaJk/IsZAEZFgRtaXRlMRIwEAYKCZImiZPyLGQBGRYCZGUw
|
|
4
|
+
HhcNMjMwNDE5MDkxMzEyWhcNMjQwNDE4MDkxMzEyWjA+MRIwEAYDVQQDDAlzZWJh
|
|
5
|
+
c3RpYW4xFDASBgoJkiaJk/IsZAEZFgRtaXRlMRIwEAYKCZImiZPyLGQBGRYCZGUw
|
|
6
|
+
ggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDAWAF/CaDp0cmY7Q2vAqVn
|
|
7
|
+
TpB3xmKKPNfF1Bh9X3P9pKRBl2iCW+JmqIV+J5Yts9mB+OYKfxjJM7mmQwT8DMf2
|
|
8
|
+
KwYIVISGKooRyXPgGgKepYfSfemizey6soCoejIIEHczsRk/FeKcvwlFrqMymBrF
|
|
9
|
+
QP5XhnF0TEQvg/sG97wt8hHH7FwcNn+m8I88abP7ygVMNNOL18EiPd2b/WqalGp0
|
|
10
|
+
aiN/CyGtJdA766QY/wgeYVEHNszzJ3DD7AYy8PWAwouIqmAmdDx7oHu01yyilIHL
|
|
11
|
+
W1l5fqko8TQ3UZjfQBDn4mwUgXT829E7dtQB5O0pkwB2lSY4L2azuC69nVBv7TsB
|
|
12
|
+
nBBCTKqr4JknuMJ1nwoGmOfgVqhmsuiGtMyabtagPg1DUpoXMYuf/PbhmSsgedgH
|
|
13
|
+
j2nCnREKxACA/A1pG3HyDhYqkeb7VA4M1Fx4s1wHXKZw/pmxCxCbB/w34wwV2OUh
|
|
14
|
+
fOtjTuX5/o5Tza2dIeBaENs8xMjqIX6DshtWbrJwyacCAwEAAaN1MHMwCQYDVR0T
|
|
15
|
+
BAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFLjadA9ioIK4kItaOGJOhPYM/dVJ
|
|
16
|
+
MBwGA1UdEQQVMBOBEXNlYmFzdGlhbkBtaXRlLmRlMBwGA1UdEgQVMBOBEXNlYmFz
|
|
17
|
+
dGlhbkBtaXRlLmRlMA0GCSqGSIb3DQEBCwUAA4IBgQCQtG2K4dDwQhBkCpSgP8sC
|
|
18
|
+
rc8v5siwMa306nG9Bs3c+KbVI8xJM8APqG8y+DUGzx0i+AIE9g5i2c7H9rwXSA9t
|
|
19
|
+
BRTXZ6O7Hjmkn4pUC8Yc2ylNgP9pdpYxqwe6ZVah8DdGW7m/dQwSisKtO+0XFwB8
|
|
20
|
+
rJmI29qalNK4bzk+DOW9pMdIfIHsbFU7pzTcFBux/MzIqQO24A+zcdYIz7MHBucF
|
|
21
|
+
85qF319BKW5/HgZMgxm26obTKJFEMDODYlNmm5ywvQCHSCyJ1yW/IFiCpqhiLm5w
|
|
22
|
+
R8JZvYWO38fAsYF3VowUCmsqOBdaQo+L3aA/NVmhNeh4LddJwjrqY+Duw2Gz+DdP
|
|
23
|
+
VyquPzH92Wc7Etd50IFILEkNV2VvRctuyY5/TAWoLKI9RQGYpKxd4jqZRtZFfODY
|
|
24
|
+
O1ARwPz8pN+xIvxo8ex8Hz1sazm/iFgVBwHgaI3O3ctK7vF4+fAu6dlLcbEpij9z
|
|
25
|
+
4QlUng62OJRSBV/ejaTTItcAOXBeh028ZFWC0QQR4r0=
|
|
26
|
+
-----END CERTIFICATE-----
|
data/gemfiles/activemodel-5
CHANGED
data/gemfiles/activemodel-6
CHANGED
data/gemfiles/activemodel-7
CHANGED
data/gemfiles/standalone
CHANGED
data/lib/valvat/checksum/fr.rb
CHANGED
|
@@ -3,6 +3,20 @@
|
|
|
3
3
|
class Valvat
|
|
4
4
|
module Checksum
|
|
5
5
|
class FR < Base
|
|
6
|
+
# the valid characters for the first two digits (O and I are missing)
|
|
7
|
+
ALPHABET = '0123456789ABCDEFGHJKLMNPQRSTUVWXYZ'
|
|
8
|
+
|
|
9
|
+
def validate
|
|
10
|
+
return super if str_wo_country[0..1] =~ /^\d+$/
|
|
11
|
+
|
|
12
|
+
numeric_start = str_wo_country[0] =~ /\d/
|
|
13
|
+
|
|
14
|
+
check = (ALPHABET.index(str_wo_country[0]) * (numeric_start ? 24 : 34)) +
|
|
15
|
+
ALPHABET.index(str_wo_country[1]) - (numeric_start ? 10 : 100)
|
|
16
|
+
|
|
17
|
+
(str_wo_country[2..-1].to_i + 1 + (check / 11)) % 11 == check % 11
|
|
18
|
+
end
|
|
19
|
+
|
|
6
20
|
def check_digit
|
|
7
21
|
siren = str_wo_country[2..-1].to_i
|
|
8
22
|
(12 + ((3 * siren) % 97)) % 97
|
data/lib/valvat/lookup/base.rb
CHANGED
data/lib/valvat/syntax.rb
CHANGED
|
@@ -14,7 +14,7 @@ class Valvat
|
|
|
14
14
|
'GR' => /\AEL[0-9]{9}\Z/, # Greece
|
|
15
15
|
'ES' => /\AES([A-Z][0-9]{8}|[0-9]{8}[A-Z]|[A-Z][0-9]{7}[A-Z])\Z/, # Spain
|
|
16
16
|
'FI' => /\AFI[0-9]{8}\Z/, # Finland
|
|
17
|
-
'FR' => /\AFR[A-Z0-9]{2}[0-9]{9}\Z/,
|
|
17
|
+
'FR' => /\AFR[A-HJ-NP-Z0-9]{2}[0-9]{9}\Z/, # France
|
|
18
18
|
'GB' => /\A(GB|XI)([0-9]{9}|[0-9]{12}|(HA|GD)[0-9]{3})\Z/, # United Kingdom
|
|
19
19
|
'HR' => /\AHR[0-9]{11}\Z/, # Croatia
|
|
20
20
|
'HU' => /\AHU[0-9]{8}\Z/, # Hungary
|
data/lib/valvat/version.rb
CHANGED
data/lib/valvat.rb
CHANGED
|
@@ -45,7 +45,7 @@ describe Valvat::Checksum::ES do
|
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
describe 'applies special rules to validation' do
|
|
48
|
-
describe 'special NIF categories (KLM) require CD to be a letter and first two digits '\
|
|
48
|
+
describe 'special NIF categories (KLM) require CD to be a letter and first two digits ' \
|
|
49
49
|
'to be between 01 and 56 (inclusive)' do
|
|
50
50
|
%w[ESK8201230M ESK0001230B].each do |invalid_vat|
|
|
51
51
|
it "returns false on invalid VAT #{invalid_vat}" do
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
5
|
describe Valvat::Checksum::FR do
|
|
6
|
-
%w[FR60528551658 FR43820567501].each do |valid_vat|
|
|
6
|
+
%w[FR60528551658 FR43820567501 FR0H384498879].each do |valid_vat|
|
|
7
7
|
it "returns true on valid VAT #{valid_vat}" do
|
|
8
8
|
expect(Valvat::Checksum.validate(valid_vat)).to be(true)
|
|
9
9
|
end
|
data/spec/valvat/lookup_spec.rb
CHANGED
|
@@ -138,7 +138,7 @@ describe Valvat::Lookup do
|
|
|
138
138
|
expect do
|
|
139
139
|
described_class.validate('GB727255821', requester: 'IE6388047V', uk: true)
|
|
140
140
|
end.to raise_error(Valvat::InvalidRequester,
|
|
141
|
-
'The HMRC web service returned the error: '\
|
|
141
|
+
'The HMRC web service returned the error: ' \
|
|
142
142
|
'INVALID_REQUEST (Invalid requesterVrn - Vrn parameters should be 9 or 12 digits)')
|
|
143
143
|
end
|
|
144
144
|
|
|
@@ -146,7 +146,7 @@ describe Valvat::Lookup do
|
|
|
146
146
|
expect do
|
|
147
147
|
described_class.validate('GB727255821', requester: 'GB6388047', uk: true)
|
|
148
148
|
end.to raise_error(Valvat::InvalidRequester,
|
|
149
|
-
'The HMRC web service returned the error: '\
|
|
149
|
+
'The HMRC web service returned the error: ' \
|
|
150
150
|
'INVALID_REQUEST (Invalid requesterVrn - Vrn parameters should be 9 or 12 digits)')
|
|
151
151
|
end
|
|
152
152
|
end
|
data/spec/valvat_spec.rb
CHANGED
|
@@ -18,12 +18,12 @@ describe Valvat do
|
|
|
18
18
|
|
|
19
19
|
describe 'Valvat()' do
|
|
20
20
|
it 'initializes new Valvat instance on string' do
|
|
21
|
-
expect(Valvat('abc')).to
|
|
21
|
+
expect(Valvat('abc')).to be_a(described_class)
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
it 'returns same Valvat instance on Valvat instance' do
|
|
25
25
|
vat = described_class.new('abc')
|
|
26
|
-
expect(Valvat(vat)).to
|
|
26
|
+
expect(Valvat(vat)).to be_a(described_class)
|
|
27
27
|
expect(Valvat(vat).object_id).to eql(vat.object_id)
|
|
28
28
|
end
|
|
29
29
|
end
|
|
@@ -42,6 +42,29 @@ describe Valvat do
|
|
|
42
42
|
end
|
|
43
43
|
end
|
|
44
44
|
|
|
45
|
+
describe 'object equality' do
|
|
46
|
+
it 'returns true when the underlying number are the same' do
|
|
47
|
+
first = "DE259597697"
|
|
48
|
+
second = "DE259597697"
|
|
49
|
+
|
|
50
|
+
expect(described_class.new(first)).to eql(described_class.new(second))
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
it 'returns true when the underlying number are the same when normalized' do
|
|
54
|
+
first = "DE259597697"
|
|
55
|
+
second = "DE 2595 9 7697 "
|
|
56
|
+
|
|
57
|
+
expect(described_class.new(first)).to eql(described_class.new(second))
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it 'returns false when the underlying number are different' do
|
|
61
|
+
first = "DE259597697"
|
|
62
|
+
second = "ATU458890031"
|
|
63
|
+
|
|
64
|
+
expect(described_class.new(first)).not_to eql(described_class.new(second))
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
45
68
|
context 'with european VAT number' do
|
|
46
69
|
let(:de_vat) { described_class.new('DE259597697') } # valid & exists
|
|
47
70
|
let(:invalid_checksum) { described_class.new('DE259597687') } # valid & invalid checksum
|
data/valvat.gemspec
CHANGED
|
@@ -9,14 +9,13 @@ Gem::Specification.new do |s|
|
|
|
9
9
|
s.platform = Gem::Platform::RUBY
|
|
10
10
|
s.license = 'MIT'
|
|
11
11
|
s.authors = ['Sebastian Munz']
|
|
12
|
-
s.email = ['sebastian@
|
|
12
|
+
s.email = ['sebastian@mite.de']
|
|
13
13
|
s.homepage = 'https://github.com/yolk/valvat'
|
|
14
14
|
s.summary = 'Validates european vat numbers. Standalone or as a ActiveModel validator.'
|
|
15
15
|
s.description = 'Validates european vat numbers. Standalone or as a ActiveModel validator.'
|
|
16
16
|
s.files = `git ls-files`.split("\n")
|
|
17
|
-
s.test_files = `git ls-files -- spec/*`.split("\n")
|
|
18
17
|
s.require_paths = ['lib']
|
|
19
|
-
s.cert_chain = ['certs/
|
|
18
|
+
s.cert_chain = ['certs/mite.pem']
|
|
20
19
|
s.signing_key = File.expand_path('~/.ssh/gem-private_key.pem') if $PROGRAM_NAME =~ /gem\z/
|
|
21
20
|
s.required_ruby_version = '>= 2.5.0'
|
|
22
21
|
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: valvat
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sebastian Munz
|
|
@@ -10,32 +10,32 @@ bindir: bin
|
|
|
10
10
|
cert_chain:
|
|
11
11
|
- |
|
|
12
12
|
-----BEGIN CERTIFICATE-----
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
13
|
+
MIIEbDCCAtSgAwIBAgIBATANBgkqhkiG9w0BAQsFADA+MRIwEAYDVQQDDAlzZWJh
|
|
14
|
+
c3RpYW4xFDASBgoJkiaJk/IsZAEZFgRtaXRlMRIwEAYKCZImiZPyLGQBGRYCZGUw
|
|
15
|
+
HhcNMjMwNDE5MDkxMzEyWhcNMjQwNDE4MDkxMzEyWjA+MRIwEAYDVQQDDAlzZWJh
|
|
16
|
+
c3RpYW4xFDASBgoJkiaJk/IsZAEZFgRtaXRlMRIwEAYKCZImiZPyLGQBGRYCZGUw
|
|
17
|
+
ggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDAWAF/CaDp0cmY7Q2vAqVn
|
|
18
|
+
TpB3xmKKPNfF1Bh9X3P9pKRBl2iCW+JmqIV+J5Yts9mB+OYKfxjJM7mmQwT8DMf2
|
|
19
|
+
KwYIVISGKooRyXPgGgKepYfSfemizey6soCoejIIEHczsRk/FeKcvwlFrqMymBrF
|
|
20
|
+
QP5XhnF0TEQvg/sG97wt8hHH7FwcNn+m8I88abP7ygVMNNOL18EiPd2b/WqalGp0
|
|
21
|
+
aiN/CyGtJdA766QY/wgeYVEHNszzJ3DD7AYy8PWAwouIqmAmdDx7oHu01yyilIHL
|
|
22
|
+
W1l5fqko8TQ3UZjfQBDn4mwUgXT829E7dtQB5O0pkwB2lSY4L2azuC69nVBv7TsB
|
|
23
|
+
nBBCTKqr4JknuMJ1nwoGmOfgVqhmsuiGtMyabtagPg1DUpoXMYuf/PbhmSsgedgH
|
|
24
|
+
j2nCnREKxACA/A1pG3HyDhYqkeb7VA4M1Fx4s1wHXKZw/pmxCxCbB/w34wwV2OUh
|
|
25
|
+
fOtjTuX5/o5Tza2dIeBaENs8xMjqIX6DshtWbrJwyacCAwEAAaN1MHMwCQYDVR0T
|
|
26
|
+
BAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFLjadA9ioIK4kItaOGJOhPYM/dVJ
|
|
27
|
+
MBwGA1UdEQQVMBOBEXNlYmFzdGlhbkBtaXRlLmRlMBwGA1UdEgQVMBOBEXNlYmFz
|
|
28
|
+
dGlhbkBtaXRlLmRlMA0GCSqGSIb3DQEBCwUAA4IBgQCQtG2K4dDwQhBkCpSgP8sC
|
|
29
|
+
rc8v5siwMa306nG9Bs3c+KbVI8xJM8APqG8y+DUGzx0i+AIE9g5i2c7H9rwXSA9t
|
|
30
|
+
BRTXZ6O7Hjmkn4pUC8Yc2ylNgP9pdpYxqwe6ZVah8DdGW7m/dQwSisKtO+0XFwB8
|
|
31
|
+
rJmI29qalNK4bzk+DOW9pMdIfIHsbFU7pzTcFBux/MzIqQO24A+zcdYIz7MHBucF
|
|
32
|
+
85qF319BKW5/HgZMgxm26obTKJFEMDODYlNmm5ywvQCHSCyJ1yW/IFiCpqhiLm5w
|
|
33
|
+
R8JZvYWO38fAsYF3VowUCmsqOBdaQo+L3aA/NVmhNeh4LddJwjrqY+Duw2Gz+DdP
|
|
34
|
+
VyquPzH92Wc7Etd50IFILEkNV2VvRctuyY5/TAWoLKI9RQGYpKxd4jqZRtZFfODY
|
|
35
|
+
O1ARwPz8pN+xIvxo8ex8Hz1sazm/iFgVBwHgaI3O3ctK7vF4+fAu6dlLcbEpij9z
|
|
36
|
+
4QlUng62OJRSBV/ejaTTItcAOXBeh028ZFWC0QQR4r0=
|
|
37
37
|
-----END CERTIFICATE-----
|
|
38
|
-
date:
|
|
38
|
+
date: 2023-04-19 00:00:00.000000000 Z
|
|
39
39
|
dependencies:
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: rexml
|
|
@@ -115,7 +115,7 @@ dependencies:
|
|
|
115
115
|
version: '3.0'
|
|
116
116
|
description: Validates european vat numbers. Standalone or as a ActiveModel validator.
|
|
117
117
|
email:
|
|
118
|
-
- sebastian@
|
|
118
|
+
- sebastian@mite.de
|
|
119
119
|
executables: []
|
|
120
120
|
extensions: []
|
|
121
121
|
extra_rdoc_files: []
|
|
@@ -130,6 +130,7 @@ files:
|
|
|
130
130
|
- MIT-LICENSE
|
|
131
131
|
- README.md
|
|
132
132
|
- Rakefile
|
|
133
|
+
- certs/mite.pem
|
|
133
134
|
- certs/yolk.pem
|
|
134
135
|
- gemfiles/activemodel-5
|
|
135
136
|
- gemfiles/activemodel-6
|
|
@@ -247,42 +248,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
247
248
|
- !ruby/object:Gem::Version
|
|
248
249
|
version: '0'
|
|
249
250
|
requirements: []
|
|
250
|
-
rubygems_version: 3.3.
|
|
251
|
+
rubygems_version: 3.3.26
|
|
251
252
|
signing_key:
|
|
252
253
|
specification_version: 4
|
|
253
254
|
summary: Validates european vat numbers. Standalone or as a ActiveModel validator.
|
|
254
|
-
test_files:
|
|
255
|
-
- spec/active_model/validations/valvat_validator_spec.rb
|
|
256
|
-
- spec/spec_helper.rb
|
|
257
|
-
- spec/valvat/checksum/at_spec.rb
|
|
258
|
-
- spec/valvat/checksum/be_spec.rb
|
|
259
|
-
- spec/valvat/checksum/bg_spec.rb
|
|
260
|
-
- spec/valvat/checksum/cy_spec.rb
|
|
261
|
-
- spec/valvat/checksum/de_spec.rb
|
|
262
|
-
- spec/valvat/checksum/dk_spec.rb
|
|
263
|
-
- spec/valvat/checksum/ee_spec.rb
|
|
264
|
-
- spec/valvat/checksum/es_spec.rb
|
|
265
|
-
- spec/valvat/checksum/fi_spec.rb
|
|
266
|
-
- spec/valvat/checksum/fr_spec.rb
|
|
267
|
-
- spec/valvat/checksum/gb_spec.rb
|
|
268
|
-
- spec/valvat/checksum/gr_spec.rb
|
|
269
|
-
- spec/valvat/checksum/hr_spec.rb
|
|
270
|
-
- spec/valvat/checksum/hu_spec.rb
|
|
271
|
-
- spec/valvat/checksum/ie_spec.rb
|
|
272
|
-
- spec/valvat/checksum/it_spec.rb
|
|
273
|
-
- spec/valvat/checksum/lt_spec.rb
|
|
274
|
-
- spec/valvat/checksum/lu_spec.rb
|
|
275
|
-
- spec/valvat/checksum/mt_spec.rb
|
|
276
|
-
- spec/valvat/checksum/nl_spec.rb
|
|
277
|
-
- spec/valvat/checksum/pl_spec.rb
|
|
278
|
-
- spec/valvat/checksum/pt_spec.rb
|
|
279
|
-
- spec/valvat/checksum/ro_spec.rb
|
|
280
|
-
- spec/valvat/checksum/se_spec.rb
|
|
281
|
-
- spec/valvat/checksum/si_spec.rb
|
|
282
|
-
- spec/valvat/checksum_spec.rb
|
|
283
|
-
- spec/valvat/lookup/hmrc_spec.rb
|
|
284
|
-
- spec/valvat/lookup/vies_spec.rb
|
|
285
|
-
- spec/valvat/lookup_spec.rb
|
|
286
|
-
- spec/valvat/syntax_spec.rb
|
|
287
|
-
- spec/valvat/utils_spec.rb
|
|
288
|
-
- spec/valvat_spec.rb
|
|
255
|
+
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|