validates_zipcode 0.5.1 → 0.5.3
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/CHANGELOG.md +11 -0
- data/gemfiles/rails_4.2.gemfile.lock +1 -1
- data/gemfiles/rails_5.2.gemfile.lock +1 -1
- data/gemfiles/rails_6.1.gemfile.lock +1 -1
- data/gemfiles/rails_7.0.gemfile.lock +1 -1
- data/gemfiles/rails_edge.gemfile.lock +1 -1
- data/lib/validates_zipcode/cldr_regex_collection.rb +6 -5
- data/lib/validates_zipcode/formatter.rb +3 -2
- data/lib/validates_zipcode/validator.rb +1 -1
- data/lib/validates_zipcode/version.rb +1 -1
- data/spec/format_zipcode_spec.rb +4 -0
- data/spec/spec_helper.rb +9 -22
- data/spec/validates_zipcode_spec.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: eaccf2cf4e72190040829da37f3da72cd319020b9e97c1dd3a064cb1b4d6b381
|
|
4
|
+
data.tar.gz: dac1daf1928badb6279f0007ae20ab969e854adacbd8e0a25d7e4ded91483125
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 52810b93259d83ba29088bc3b3eb0596bb89f15d8d92f7b8947bf08333f7191fa7e37946dbed18d4045bb4d4fd0d574f73e1c94846bc2c95f39295a42e996616
|
|
7
|
+
data.tar.gz: 3129ba6f20cbe9850aa9448b98271bee9e0d60496fbd47ed9f4df55db896377aa20998832864d37388bc0c4d8c18b2ee19955ff4d4e0de89d4628061842c5861
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## Unreleased
|
|
6
|
+
|
|
7
|
+
## 0.5.3
|
|
8
|
+
|
|
9
|
+
- See commits up to 4e5a3132061d57d220d1616beb15d15a47d301df
|
|
10
|
+
|
|
11
|
+
## 0.5.2
|
|
12
|
+
|
|
13
|
+
- Added support for Puerto Rico, thanks to ~ @tahanson
|
|
14
|
+
- Added support for newer Honduras codes with backwards compatibility ~ @tahanson
|
|
15
|
+
|
|
5
16
|
## 0.5.1
|
|
6
17
|
|
|
7
18
|
- Fixes Mongolia postal codes, thanks to ~ @lucasfcunha
|
|
@@ -32,7 +32,7 @@ module ValidatesZipcode
|
|
|
32
32
|
SG: /\A\d{6}\z/,
|
|
33
33
|
DZ: /\A\d{5}\z/,
|
|
34
34
|
AD: /\AAD\d{3}\z/,
|
|
35
|
-
AR: /\A[A-HJ-NP-Z]{1}\d{4}([A-Z]{3})
|
|
35
|
+
AR: /\A([A-HJ-NP-Z]{1}\d{4}([A-Z]{3})?|\d{4})\z/,
|
|
36
36
|
AM: /\A(37)?\d{4}\z/,
|
|
37
37
|
BH: /\A(1[0-2]|[1-9])\d{2}\z/,
|
|
38
38
|
BD: /\A\d{4}\z/,
|
|
@@ -42,7 +42,7 @@ module ValidatesZipcode
|
|
|
42
42
|
BA: /\A\d{5}\z/,
|
|
43
43
|
BN: /\A[BKTP][A-Z][ ]?\d{4}\z/i,
|
|
44
44
|
BG: /\A\d{4}\z/,
|
|
45
|
-
KH: /\A\d{
|
|
45
|
+
KH: /\A\d{6}\z/,
|
|
46
46
|
CV: /\A\d{4}\z/,
|
|
47
47
|
CL: /\A\d{3}[-]?\d{4}\z/,
|
|
48
48
|
HR: /\A\d{5}\z/,
|
|
@@ -158,7 +158,8 @@ module ValidatesZipcode
|
|
|
158
158
|
BJ: /\A([A-Z\d\s]){3,}\z/i,
|
|
159
159
|
BT: /\A\d{5}\z/,
|
|
160
160
|
BQ: /\A([A-Z\d\s]){3,}\z/i,
|
|
161
|
-
|
|
161
|
+
# NOTE: Bolivia has no postal codes
|
|
162
|
+
# BO: /\A\d{4}\z/,
|
|
162
163
|
BW: /\A([A-Z\d\s]){3,}\z/i,
|
|
163
164
|
CF: /\A([A-Z\d\s]){3,}\z/i,
|
|
164
165
|
CG: /\A([A-Z\d\s]){3,}\z/i,
|
|
@@ -185,7 +186,7 @@ module ValidatesZipcode
|
|
|
185
186
|
GI: /\A(GX11[ ]?1AA)\z/i,
|
|
186
187
|
GR: /\A\d{3}[ ]?\d{2}\z/,
|
|
187
188
|
GY: /\A([A-Z\d\s]){3,}\z/i,
|
|
188
|
-
HN: /\A(
|
|
189
|
+
HN: /\A([A-Z]{2}|\d{1})\d{4}\z/i,
|
|
189
190
|
IO: /\A\d{5}\z/,
|
|
190
191
|
IR: /\A\d{5}\z/,
|
|
191
192
|
JP: /\A\d{3}\-?\d{4}\z/,
|
|
@@ -210,7 +211,7 @@ module ValidatesZipcode
|
|
|
210
211
|
MW: /\A([A-Z\d\s]){3,}\z/i,
|
|
211
212
|
MZ: /\A\d{4}\z/,
|
|
212
213
|
NA: /\A\d{5}\z/,
|
|
213
|
-
NP: /\A\d{
|
|
214
|
+
NP: /\A\d{5}\z/,
|
|
214
215
|
NR: /\A([A-Z\d\s]){3,}\z/i,
|
|
215
216
|
PT: /\A\d{4}([\-]\d{3})?\z/,
|
|
216
217
|
PS: /\A\d{3}\z/,
|
|
@@ -19,7 +19,7 @@ module ValidatesZipcode
|
|
|
19
19
|
PL: ->(z) { z.scan(/\d/).insert(2, '-').join },
|
|
20
20
|
SK: :CZ,
|
|
21
21
|
UK: :GB,
|
|
22
|
-
MT:
|
|
22
|
+
MT: ->(z) { z.upcase.scan(WORD_CHAR_AND_DIGIT).insert(3, ' ').join },
|
|
23
23
|
FK: :GB,
|
|
24
24
|
GS: :GB,
|
|
25
25
|
PN: :GB,
|
|
@@ -30,7 +30,8 @@ module ValidatesZipcode
|
|
|
30
30
|
digits = z.scan(/\d/)
|
|
31
31
|
digits.insert(5, '-') if digits.count > 5
|
|
32
32
|
digits.join
|
|
33
|
-
}
|
|
33
|
+
},
|
|
34
|
+
PR: :US
|
|
34
35
|
}.freeze
|
|
35
36
|
|
|
36
37
|
def initialize(args = {})
|
|
@@ -35,7 +35,7 @@ module ValidatesZipcode
|
|
|
35
35
|
|
|
36
36
|
return if ValidatesZipcode::Zipcode.new(options).valid?
|
|
37
37
|
|
|
38
|
-
message = @message || I18n.t('errors.messages.invalid_zipcode', value: value, default: '
|
|
38
|
+
message = @message || I18n.t('errors.messages.invalid_zipcode', value: value, default: 'is invalid')
|
|
39
39
|
record.errors.add(attribute, :invalid_zipcode, message: message)
|
|
40
40
|
end
|
|
41
41
|
end
|
data/spec/format_zipcode_spec.rb
CHANGED
|
@@ -35,6 +35,10 @@ describe ValidatesZipcode::Formatter, '#format' do
|
|
|
35
35
|
it { check_format('US', '22162 1010' => '22162-1010') }
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
+
context 'MT' do
|
|
39
|
+
it { check_format('MT', 'GZR1020' => 'GZR 1020') }
|
|
40
|
+
end
|
|
41
|
+
|
|
38
42
|
def check_format(country, formatting)
|
|
39
43
|
from_zip, to_zip = formatting.first
|
|
40
44
|
expect(::ValidatesZipcode::Formatter.new(zipcode: from_zip, country_alpha2: country).format).to eq(to_zip)
|
data/spec/spec_helper.rb
CHANGED
|
@@ -423,6 +423,7 @@ TEST_DATA = {
|
|
|
423
423
|
valid: %w[
|
|
424
424
|
C1234CHN
|
|
425
425
|
C1234
|
|
426
|
+
6000
|
|
426
427
|
],
|
|
427
428
|
invalid: [
|
|
428
429
|
nil,
|
|
@@ -2218,22 +2219,6 @@ TEST_DATA = {
|
|
|
2218
2219
|
'12'
|
|
2219
2220
|
]
|
|
2220
2221
|
},
|
|
2221
|
-
BO: {
|
|
2222
|
-
valid: %w[
|
|
2223
|
-
7113
|
|
2224
|
-
2566
|
|
2225
|
-
6261
|
|
2226
|
-
7113
|
|
2227
|
-
],
|
|
2228
|
-
invalid: [
|
|
2229
|
-
nil,
|
|
2230
|
-
'',
|
|
2231
|
-
'invalid_zip',
|
|
2232
|
-
'12345',
|
|
2233
|
-
'1234-1234',
|
|
2234
|
-
'D0D0D0'
|
|
2235
|
-
]
|
|
2236
|
-
},
|
|
2237
2222
|
BW: {
|
|
2238
2223
|
valid: %w[
|
|
2239
2224
|
42511
|
|
@@ -2628,6 +2613,7 @@ TEST_DATA = {
|
|
|
2628
2613
|
valid: %w[
|
|
2629
2614
|
BV2722
|
|
2630
2615
|
XY1234
|
|
2616
|
+
12345
|
|
2631
2617
|
],
|
|
2632
2618
|
invalid: [
|
|
2633
2619
|
nil,
|
|
@@ -2635,7 +2621,8 @@ TEST_DATA = {
|
|
|
2635
2621
|
'invalid_zip',
|
|
2636
2622
|
'B2722',
|
|
2637
2623
|
'XY12345',
|
|
2638
|
-
'XY123'
|
|
2624
|
+
'XY123',
|
|
2625
|
+
'123456'
|
|
2639
2626
|
]
|
|
2640
2627
|
},
|
|
2641
2628
|
IO: {
|
|
@@ -2975,16 +2962,16 @@ TEST_DATA = {
|
|
|
2975
2962
|
},
|
|
2976
2963
|
NP: {
|
|
2977
2964
|
valid: %w[
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2965
|
+
44600
|
|
2966
|
+
44700
|
|
2967
|
+
44800
|
|
2968
|
+
32907
|
|
2982
2969
|
],
|
|
2983
2970
|
invalid: [
|
|
2984
2971
|
nil,
|
|
2985
2972
|
'',
|
|
2986
2973
|
'invalid_zip',
|
|
2987
|
-
'
|
|
2974
|
+
'123456',
|
|
2988
2975
|
'123456-123456',
|
|
2989
2976
|
'D0D0D0'
|
|
2990
2977
|
]
|
|
@@ -118,7 +118,7 @@ def zipcode_should_be_invalid(record, _zipcode, options = {})
|
|
|
118
118
|
ValidatesZipcode::Validator.new(options.merge(attributes: :zipcode)).validate(record)
|
|
119
119
|
|
|
120
120
|
expect(record.errors.size).to eq 1
|
|
121
|
-
expect(record.errors.messages[:zipcode]).to include '
|
|
121
|
+
expect(record.errors.messages[:zipcode]).to include 'is invalid'
|
|
122
122
|
end
|
|
123
123
|
|
|
124
124
|
def zipcode_should_be_invalid_with_custom_message(record, _zipcode, options = {})
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: validates_zipcode
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Gil
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-09-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activemodel
|
|
@@ -170,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
170
170
|
- !ruby/object:Gem::Version
|
|
171
171
|
version: '0'
|
|
172
172
|
requirements: []
|
|
173
|
-
rubygems_version: 3.
|
|
173
|
+
rubygems_version: 3.5.17
|
|
174
174
|
signing_key:
|
|
175
175
|
specification_version: 4
|
|
176
176
|
summary: Localizable zipcode validation for Rails.
|