valvat 0.6.8 → 0.6.9

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
2
  SHA1:
3
- metadata.gz: bd8d2d5619d96c0f8a269bba25df839e3a4b2434
4
- data.tar.gz: 76a5d6620d2a4a9009290d19847b9c49f5b669bc
3
+ metadata.gz: cbfcb15db4a635bac6916984c415c20bfcbdf89c
4
+ data.tar.gz: 7c72a583b3a5a9b3b001da112656c1d25a92c7e9
5
5
  SHA512:
6
- metadata.gz: 441fb0184697917540c6e0227df53e8cfef1e2b83c3f3e1fe0c278c380dc8454f669bd2e3b368c25e92931935dfbc45678f221204bec76009dd3f2df8fe3976c
7
- data.tar.gz: 51e211a97ad8a9e8fd13e0e5bbde19e655f87eed8c14ca1e84ac943b3ddfce2b30ac6703f3b8e74180bfd32b26ac3643cf29994810424d7b6287c502c6850343
6
+ metadata.gz: 2ca1eb637a48062b27b3f6302bffc5fbc4d41c8b6060acf6d1b9925cbfb8114e377dff4bc2932ff5c8e8384557cfbe3b6fa3c08338095639307745f9eab823d9
7
+ data.tar.gz: adc20d41241cbbbe53133bf710b5bd24335b27f96dd57ad04decd73beb19b3438304485c21e9c79928764bb16df2fb01ccc20258304c821371b8740403eedf37
checksums.yaml.gz.sig CHANGED
Binary file
data/.gitignore CHANGED
@@ -2,4 +2,6 @@ pkg/*
2
2
  *.gem
3
3
  .bundle
4
4
  Gemfile.lock
5
- tmp
5
+ tmp
6
+ .rbenv-*
7
+ .ruby-version
data/CHANGES.md CHANGED
@@ -1,6 +1,14 @@
1
1
  ### dev
2
2
 
3
- [full changelog](http://github.com/yolk/valvat/compare/v0.6.8...master)
3
+ [full changelog](http://github.com/yolk/valvat/compare/v0.6.9...master)
4
+
5
+ ### 0.6.9 / 2015-03-19
6
+
7
+ [full changelog](http://github.com/yolk/valvat/compare/v0.6.8...v0.6.9)
8
+
9
+ * Added catalan translations (by [descala](https://github.com/descala))
10
+ * Added support for spanish NIE Y and Z (by [descala](https://github.com/descala))
11
+ * Fixed spanish translations (by [Carlos Hernández Medina](https://github.com/polimorfico))
4
12
 
5
13
  ### 0.6.8 / 2014-12-18
6
14
 
data/README.md CHANGED
@@ -11,7 +11,7 @@ Validates european vat numbers. Standalone or as a ActiveModel validator.
11
11
  * Lookup via the VIES web service
12
12
  * (Optional) ActiveModel/Rails3 integration
13
13
  * Works standalone without ActiveModel
14
- * I18n locales for country specific error messages in English, German, French, Spanish, Italian, Portuguese, Polish, Swedish, Dutch, Danish, Bulgarian, Romanian and Latvian.
14
+ * I18n locales for country specific error messages in English, German, French, Spanish, Italian, Portuguese, Polish, Swedish, Dutch, Danish, Bulgarian, Romanian, Latvian and Catalan.
15
15
  * *Experimental* checksum verification
16
16
 
17
17
  valvat is tested and works with ruby MRI 1.9.3/2.0/2.1, jruby (in 1.9 mode) and ActiveModel 3.2/4.1
@@ -188,6 +188,8 @@ There seems to be a problem when using the VIES service over IPv6. Sadly this is
188
188
 
189
189
  ## Contributions by
190
190
 
191
+ * [descala](https://github.com/descala)
192
+ * [Carlos Hernández Medina](https://github.com/polimorfico)
191
193
  * [Julik Tarkhanov](https://github.com/julik)
192
194
  * [Roman Lehnert](https://github.com/romanlehnert)
193
195
  * [0scarius](https://github.com/0scarius)
@@ -207,6 +209,6 @@ There seems to be a problem when using the VIES service over IPv6. Sadly this is
207
209
 
208
210
  ## BlaBla
209
211
 
210
- Copyright (c) 2011-2014 Yolk Sebastian Munz & Julia Soergel GbR
212
+ Copyright (c) 2011-2015 Yolk Sebastian Munz & Julia Soergel GbR
211
213
 
212
214
  Beyond that, the implementation is licensed under the MIT License.
@@ -2,22 +2,31 @@ class Valvat
2
2
  module Checksum
3
3
  class ES < Base
4
4
  NATURAL_PERSON_CHARS = %w(T R W A G M Y F P D X B N J Z S Q V H L C K E)
5
- NATURAL_PERSON_EXP = /\A([\d]{8}[ABCDEFGHJKLMNPQRSTVWXYZ]|[KLMX][\d]{7}[ABCDEFGHJKLMNPQRSTVWXYZ])\Z/
6
- LEGAL_FOREIGN_PERSON_CHARS = [false] + %w(A B C D E F G H I J)
7
- LEGAL_FOREIGN_PERSON_EXP = /\A[NPQRSW][\d]{7}[ABCDEFGHIJ]\Z/
5
+ NATURAL_PERSON_EXP = /\A([\d]{8}[ABCDEFGHJKLMNPQRSTVWXYZ]|[KLMXYZ][\d]{7}[ABCDEFGHJKLMNPQRSTVWXYZ])\Z/
6
+ LEGAL_PERSON_CHARS = [false] + %w(A B C D E F G H I J)
7
+ LEGAL_PERSON_EXP = /\A[NPQRSW][\d]{7}[ABCDEFGHIJ]\Z/
8
8
 
9
9
  def check_digit
10
10
  natural_person? ? check_digit_natural_person : check_digit_legal_person
11
11
  end
12
12
 
13
13
  def check_digit_natural_person
14
- NATURAL_PERSON_CHARS[figures_str.to_i.modulo(23)]
14
+ nie_digit = nil
15
+ letter = vat.to_s_wo_country[0]
16
+ if letter == 'X'
17
+ nie_digit = 0
18
+ elsif letter == 'Y'
19
+ nie_digit = 1
20
+ elsif letter == 'Z'
21
+ nie_digit = 2
22
+ end
23
+ NATURAL_PERSON_CHARS["#{nie_digit}#{figures_str}".to_i.modulo(23)]
15
24
  end
16
25
 
17
26
  def check_digit_legal_person
18
27
  chk = 10 - sum_of_figures_for_at_es_it_se(true).modulo(10)
19
28
  legal_foreign_person? ?
20
- LEGAL_FOREIGN_PERSON_CHARS[chk] :
29
+ LEGAL_PERSON_CHARS[chk] :
21
30
  (chk == 10 ? 0 : chk)
22
31
  end
23
32
 
@@ -39,7 +48,7 @@ class Valvat
39
48
  end
40
49
 
41
50
  def legal_foreign_person?
42
- !!(vat.to_s_wo_country =~ LEGAL_FOREIGN_PERSON_EXP)
51
+ !!(vat.to_s_wo_country =~ LEGAL_PERSON_EXP)
43
52
  end
44
53
  end
45
54
  end
@@ -0,0 +1,34 @@
1
+ ca:
2
+ errors:
3
+ messages:
4
+ invalid_vat: no és un número d'IVA intracomunitari %{country_adjective} vàlid
5
+ valvat:
6
+ country_adjectives:
7
+ eu: europeu
8
+ at: austríac
9
+ be: belga
10
+ bg: búlgar
11
+ cy: xipriota
12
+ cz: txec
13
+ de: alemany
14
+ dk: danès
15
+ ee: estoni
16
+ es: espanyol
17
+ fi: finlandés
18
+ fr: francès
19
+ gb: britànic
20
+ gr: grec
21
+ hu: hungarès
22
+ ie: irlandès
23
+ it: italià
24
+ lt: lituà
25
+ lu: luxemburguès
26
+ lv: letó
27
+ mt: maltès
28
+ nl: holandès
29
+ pl: polac
30
+ pt: portuguès
31
+ ro: rumanès
32
+ se: suec
33
+ si: eslovec
34
+ sk: eslovac
@@ -1,7 +1,7 @@
1
1
  es:
2
2
  errors:
3
3
  messages:
4
- invalid_vat: el impuesto sobre el valor añadido %{country_adjective} no es válido
4
+ invalid_vat: el número de IVA intracomunitario %{country_adjective} no es válido
5
5
  valvat:
6
6
  country_adjectives:
7
7
  eu: europeo
@@ -18,7 +18,7 @@ es:
18
18
  fr: francés
19
19
  gb: británico
20
20
  gr: griego
21
- hu: úngaro
21
+ hu: húngaro
22
22
  ie: irlandés
23
23
  it: italiano
24
24
  lt: lituano
@@ -28,7 +28,7 @@ es:
28
28
  nl: holandés
29
29
  pl: polaco
30
30
  pt: portugués
31
- ro: romano
31
+ ro: rumano
32
32
  se: sueco
33
- si: eslovenio
33
+ si: esloveno
34
34
  sk: eslovaco
@@ -1,3 +1,3 @@
1
1
  class Valvat
2
- VERSION = "0.6.8"
2
+ VERSION = "0.6.9"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Valvat::Checksum::ES do
4
- %w(ESA13585625 ESB83871236 ESE54507058 ES25139013J ESQ1518001A ESQ5018001G ESX4942978W ESX7676464F ESB10317980).each do |valid_vat|
4
+ %w(ESA13585625 ESB83871236 ESE54507058 ES25139013J ESQ1518001A ESQ5018001G ESX4942978W ESX7676464F ESB10317980 ESY3860557K ESY2207765D).each do |valid_vat|
5
5
  it "returns true on valid vat #{valid_vat}" do
6
6
  expect(Valvat::Checksum.validate(valid_vat)).to eql(true)
7
7
  end
data/valvat.gemspec CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.require_paths = ["lib"]
19
19
  s.cert_chain = ['certs/yolk.pem']
20
20
  s.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") if $0 =~ /gem\z/
21
+ s.required_ruby_version = '>= 1.9.3'
21
22
 
22
23
  s.add_dependency 'savon', '>= 2.3.0'
23
24
 
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: 0.6.8
4
+ version: 0.6.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Munz
@@ -30,7 +30,7 @@ cert_chain:
30
30
  wV8oppYhH3tRwfGrXgETqok7yPVYTZFcjCW9s9snwVE/JA23z12g54jVnaAP8SQH
31
31
  L1HABGk4QCo=
32
32
  -----END CERTIFICATE-----
33
- date: 2014-12-18 00:00:00.000000000 Z
33
+ date: 2015-03-19 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: savon
@@ -96,8 +96,6 @@ extensions: []
96
96
  extra_rdoc_files: []
97
97
  files:
98
98
  - ".gitignore"
99
- - ".rbenv-gemsets"
100
- - ".ruby-version"
101
99
  - ".travis.yml"
102
100
  - CHANGES.md
103
101
  - Gemfile
@@ -129,6 +127,7 @@ files:
129
127
  - lib/valvat/checksum/se.rb
130
128
  - lib/valvat/checksum/si.rb
131
129
  - lib/valvat/locales/bg.yml
130
+ - lib/valvat/locales/ca.yml
132
131
  - lib/valvat/locales/cs.yml
133
132
  - lib/valvat/locales/da.yml
134
133
  - lib/valvat/locales/de.yml
@@ -184,7 +183,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
184
183
  requirements:
185
184
  - - ">="
186
185
  - !ruby/object:Gem::Version
187
- version: '0'
186
+ version: 1.9.3
188
187
  required_rubygems_version: !ruby/object:Gem::Requirement
189
188
  requirements:
190
189
  - - ">="
metadata.gz.sig CHANGED
Binary file
data/.rbenv-gemsets DELETED
@@ -1 +0,0 @@
1
- plugin
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.1.5