worldwide 0.6.0 → 0.6.1
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 +6 -0
- data/Gemfile.lock +1 -1
- data/db/data/regions/DK.yml +1 -0
- data/lib/worldwide/region.rb +6 -5
- data/lib/worldwide/version.rb +1 -1
- data/lib/worldwide/zip.rb +9 -9
- 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: 43a941ce0c45311eb558bbe78d3585613c38da718f2880533182d39ac8b1017b
|
4
|
+
data.tar.gz: 8553b4c0e92338eeec626987ccbde3e28b3e8bd3b3f7eee82ae0c4315b519a23
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 676b6e8903ef04b777c44ea464d7d77413a67f5b69993d4c3821252e554ee093ec07dde4f147684e2ad5cd57a8c5245beab11d116f19e74fd24fffba1ec4284d
|
7
|
+
data.tar.gz: 15f67c2fdda70190a1742144577600f067b05e1f769785c582e7d44d858b8597b9263a3b604b1eed03ae6a0e0d3400afe6bdf67d47e836184645b95c178aa0ce
|
data/CHANGELOG.md
CHANGED
@@ -31,6 +31,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
31
31
|
|
32
32
|
---
|
33
33
|
|
34
|
+
[0.6.1] - 2023-12-11
|
35
|
+
|
36
|
+
- Allow building number in address2 for DK [#53](https://github.com/Shopify/worldwide/pull/53)
|
37
|
+
- Avoid .present? and .blank? so we don't require Rails [#57](https://github.com/Shopify/worldwide/pull/57)
|
38
|
+
- (bugfix) Zone lookup by name [#58](https://github.com/Shopify/worldwid/pull/58)
|
39
|
+
|
34
40
|
[0.6.0] - 2023-12-08
|
35
41
|
|
36
42
|
- Add localized concern messages for address1 + 2 warnings and address may not exist message [#54](https://github.com/Shopify/worldwide/pull/54)
|
data/Gemfile.lock
CHANGED
data/db/data/regions/DK.yml
CHANGED
data/lib/worldwide/region.rb
CHANGED
@@ -373,9 +373,10 @@ module Worldwide
|
|
373
373
|
search_name = name.upcase
|
374
374
|
|
375
375
|
zones.find do |region|
|
376
|
-
search_name == region.legacy_name
|
377
|
-
search_name ==
|
378
|
-
search_name ==
|
376
|
+
search_name == region.legacy_name&.upcase ||
|
377
|
+
region.name_alternates&.any? { |a| search_name == a.upcase } ||
|
378
|
+
search_name == region.full_name&.upcase ||
|
379
|
+
search_name == I18n.with_locale(:en) { region.full_name&.upcase }
|
379
380
|
end
|
380
381
|
else # Worldwide::Util.present?(zip)
|
381
382
|
zone_by_normalized_zip(Zip.normalize(country_code: iso_code, zip: zip))
|
@@ -444,7 +445,7 @@ module Worldwide
|
|
444
445
|
# Returns true if this country has zones defined, and has postal code prefix data for the zones
|
445
446
|
def has_zip_prefixes?
|
446
447
|
@zones&.any? do |zone|
|
447
|
-
zone.zip_prefixes
|
448
|
+
Util.present?(zone.zip_prefixes)
|
448
449
|
end
|
449
450
|
end
|
450
451
|
|
@@ -471,7 +472,7 @@ module Worldwide
|
|
471
472
|
|
472
473
|
adjusted_value = partial_match ? value.strip : value
|
473
474
|
|
474
|
-
Regexp.new(regex_prefix).match(adjusted_value)
|
475
|
+
Util.present?(Regexp.new(regex_prefix).match(adjusted_value))
|
475
476
|
end
|
476
477
|
|
477
478
|
# Search a list of zip prefixes (by province or timezone) to find the element that corresponds to the zip
|
data/lib/worldwide/version.rb
CHANGED
data/lib/worldwide/zip.rb
CHANGED
@@ -50,7 +50,7 @@ module Worldwide
|
|
50
50
|
# @param min_confidence [Integer] The minimum confidence level (between 0-100) that is accepted from a suggestion (optional)
|
51
51
|
# @return [Region] which is a "country" if we have a suggestion, or `nil` if we do not.
|
52
52
|
def find_country(country_code: nil, zip:, min_confidence: 0)
|
53
|
-
return nil unless
|
53
|
+
return nil unless Util.present?(zip)
|
54
54
|
|
55
55
|
country = Worldwide.region(code: country_code) unless country_code.nil?
|
56
56
|
return country if country&.valid_zip?(zip)
|
@@ -68,8 +68,8 @@ module Worldwide
|
|
68
68
|
# We'll see if we have only a single suggestion and, if so, return it.
|
69
69
|
# In cases where there's more than one possible match, we'll return nil.
|
70
70
|
suggestions = find_country_using_zip_alone(adjusted_zip)
|
71
|
-
suggestion = suggestions.first[0] unless
|
72
|
-
confidence = suggestions.first[1] unless
|
71
|
+
suggestion = suggestions.first[0] unless Util.blank?(suggestions)
|
72
|
+
confidence = suggestions.first[1] unless Util.blank?(suggestions)
|
73
73
|
|
74
74
|
return suggestion if suggestions.length == 1 && confidence && confidence >= min_confidence
|
75
75
|
|
@@ -90,7 +90,7 @@ module Worldwide
|
|
90
90
|
|
91
91
|
if allow_autofill
|
92
92
|
autofill = country.autofill_zip
|
93
|
-
return autofill if
|
93
|
+
return autofill if Util.present?(autofill)
|
94
94
|
end
|
95
95
|
|
96
96
|
return nil if zip.nil?
|
@@ -163,7 +163,7 @@ module Worldwide
|
|
163
163
|
end
|
164
164
|
|
165
165
|
def strip_optional_country_prefix(country_code:, zip:)
|
166
|
-
return zip if
|
166
|
+
return zip if Util.blank?(zip)
|
167
167
|
|
168
168
|
unless OPTIONAL_PREFIX_COUNTRIES.include?(country_code&.to_sym)
|
169
169
|
return zip
|
@@ -604,7 +604,7 @@ module Worldwide
|
|
604
604
|
return zip
|
605
605
|
end
|
606
606
|
|
607
|
-
return zip if
|
607
|
+
return zip if Util.blank?(zip)
|
608
608
|
|
609
609
|
autocorrected_zips = []
|
610
610
|
input = zip
|
@@ -727,7 +727,7 @@ module Worldwide
|
|
727
727
|
end
|
728
728
|
|
729
729
|
def normalize_for_bd(zip:)
|
730
|
-
return zip if
|
730
|
+
return zip if Util.blank?(zip)
|
731
731
|
|
732
732
|
m = zip.match(/^(GPO:?|DHAKA)(\d{4})$/)
|
733
733
|
if m.nil?
|
@@ -834,10 +834,10 @@ module Worldwide
|
|
834
834
|
return zip if zip.nil?
|
835
835
|
|
836
836
|
m = zip.match(/^0?0?0?0?([1-9])0?0?$/)
|
837
|
-
return "00#{m[1]}00" if
|
837
|
+
return "00#{m[1]}00" if Util.present?(m)
|
838
838
|
|
839
839
|
m = zip.match(/^0?0?1([1-9])0?0?$/)
|
840
|
-
return "01#{m[1]}00" if
|
840
|
+
return "01#{m[1]}00" if Util.present?(m)
|
841
841
|
|
842
842
|
if zip.match?(/^[1-9][0-9]00$/)
|
843
843
|
"#{zip}0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: worldwide
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-12-
|
11
|
+
date: 2023-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|