europe 0.0.20 → 0.0.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +3 -0
- data/lib/europe/vat/vat.rb +2 -0
- data/lib/europe/version.rb +1 -1
- data/test/europe/vat/format_test.rb +6 -6
- data/test/europe/vat/validation_test.rb +4 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a1265263ae93ea1408b778a1bff21d44a913d54f10e034d2eb4f2536ed3e87ce
|
4
|
+
data.tar.gz: '079be0aeba6bf84a543b9df49e25d1571b3a8527b3770c176ae3014b3260d809'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb51a61ff49138ce79b0e3919427967a62b79ece0f8285c3b2074cbb4cb2a960f02d611970991e43784dcb750e09d8708c822840b338cbd41cd3aa1c5df53666
|
7
|
+
data.tar.gz: 8c4eda6745c2a60a39e9c38dbb2770a23cf0597764bfab1e57deeac3c2bdbcbf5fe0659c0a96cf023176219808ccab0c91966d4e8454a1f0632f9c91eda61f02
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# Change Log
|
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
|
+
## 0.0.21
|
5
|
+
- Added check to fail short VAT numbers under 5 characters
|
6
|
+
- [Full Changelog](https://github.com/gem-shards/europe.rb/compare/v0.0.20...v0.0.21)
|
4
7
|
## 0.0.20
|
5
8
|
- Added fallback VAT rates in case the EU website is down or unresponsive
|
6
9
|
- [Full Changelog](https://github.com/gem-shards/europe.rb/compare/v0.0.19...v0.0.20)
|
data/lib/europe/vat/vat.rb
CHANGED
@@ -33,6 +33,8 @@ module Europe
|
|
33
33
|
XML
|
34
34
|
|
35
35
|
def self.validate(number)
|
36
|
+
return :failed if number.size < 4
|
37
|
+
|
36
38
|
response = send_request(number[0..1], number[2..-1])
|
37
39
|
return :failed unless response.is_a? Net::HTTPSuccess
|
38
40
|
return :failed if response.body.include?('soap:Fault')
|
data/lib/europe/version.rb
CHANGED
@@ -62,15 +62,15 @@ module Europe
|
|
62
62
|
def check_character_and_digit(number)
|
63
63
|
assert_equal true, Europe::Vat::Format.validate(
|
64
64
|
number[0..1] +
|
65
|
-
number[2..-1].gsub(
|
65
|
+
number[2..-1].gsub('X', [*('A'..'Z'), *('0'..'9')].sample)
|
66
66
|
)
|
67
67
|
end
|
68
68
|
|
69
69
|
def check_integer(number)
|
70
70
|
{
|
71
|
-
number[0..1] + number[2..-1].gsub(
|
72
|
-
number.gsub(
|
73
|
-
number.gsub(
|
71
|
+
number[0..1] + number[2..-1].gsub('9', [*('0'..'9')].sample) => true,
|
72
|
+
number.gsub('9', rand(10).to_s) => true,
|
73
|
+
number.gsub('9', [*('A'..'Z')].sample(1).join) => false
|
74
74
|
}.each do |key, value|
|
75
75
|
assert_equal value, Europe::Vat::Format.validate(key)
|
76
76
|
end
|
@@ -78,10 +78,10 @@ module Europe
|
|
78
78
|
|
79
79
|
def check_alphanumeric(number)
|
80
80
|
assert_equal true, Europe::Vat::Format.validate(
|
81
|
-
number[0..1] + number[2..-1].gsub(
|
81
|
+
number[0..1] + number[2..-1].gsub('L', [*('A'..'Z')].sample)
|
82
82
|
)
|
83
83
|
assert_equal false, Europe::Vat::Format.validate(
|
84
|
-
number[0..1] + number[2..-1].gsub(
|
84
|
+
number[0..1] + number[2..-1].gsub('L', [*('0'..'9')].sample)
|
85
85
|
)
|
86
86
|
end
|
87
87
|
|
@@ -12,6 +12,10 @@ module Europe
|
|
12
12
|
WebMock.disable!
|
13
13
|
end
|
14
14
|
|
15
|
+
def test_validation_of_short_vat_number
|
16
|
+
assert_equal :failed, Europe::Vat.validate('6')
|
17
|
+
end
|
18
|
+
|
15
19
|
def test_validation_of_false_vat_number
|
16
20
|
validate_false_vat = Europe::Vat.validate('NL123456789B01')
|
17
21
|
assert_equal false, validate_false_vat[:valid]
|
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.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gem shards
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: byebug
|