worldwide 1.10.0 → 1.11.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e95f2e0fb163b3ca71052724364003e66adaede98d891ba85b9fcb950bb45403
4
- data.tar.gz: 87597cf4738a6cad9e32d1a13f1aad9bca0dc67c49999e18ab712fa9bc0b4ced
3
+ metadata.gz: 201314dc59d2e10fb46c16cd4cac2ddb6a345074226567b221340660f53d6936
4
+ data.tar.gz: 0acd813a2beea616bff276a474783d38f101dd6d875d24fbbc34862a7b3c1844
5
5
  SHA512:
6
- metadata.gz: c9d46c593759a7470a3c2c3cab66ea9100f1afdada955c54cdedcb63ab6a9fb1ca2365596e69301fd8f8194f5f82a19a042ea95096cee6c766cad85fc58dbb5a
7
- data.tar.gz: 90a72f40fb35d3f782f190833f52c7e09625a32f7972fb757edb3d9ebb097050c0c38037846b293e5e84f637feb3e014faf185b5ea0dffbdba953759ea76b252
6
+ metadata.gz: b8d0b34eccbde7cbf76254c9ca50e21d4a1bfd93f9b0ba7a75a12532d8152378572c184fccdb6749e3ee2efa7d62d9586a904333583d293acd3f6968c1da592d
7
+ data.tar.gz: cfbfeebf34e7b3c4b68d6c9c0e5da78fa1627b0fe7248a3cdc3ea74cde3292adbeab3be86c97391e56f32016de23fa357cc9c265e070fc90896f3c6782b7eb77
data/CHANGELOG.md CHANGED
@@ -26,10 +26,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
26
26
  - Security in case of vulnerabilities.
27
27
 
28
28
  ## [Unreleased]
29
- - Nil.
30
29
 
31
30
  ---
32
31
 
32
+ ## [1.11.0] - 2024-10-02
33
+ - Add address1_regex to regions [#281](https://github.com/Shopify/worldwide/pull/281)
34
+ - Add address1_regex for BE, CL, MX, ES, IL [#282](https://github.com/Shopify/worldwide/pull/282)
35
+ - Add address1_regex for DE [#286](https://github.com/Shopify/worldwide/pull/286)
36
+ - Update legacy timezone mappings for Europe/Kiev [#288](https://github.com/Shopify/worldwide/pull/288)
37
+
38
+
33
39
  ## [1.10.0] - 2024-09-16
34
40
  - Add alternate Arabic names for UAE zones [#283](https://github.com/Shopify/worldwide/pull/283)
35
41
 
data/Gemfile.lock CHANGED
@@ -13,7 +13,7 @@ GIT
13
13
  PATH
14
14
  remote: .
15
15
  specs:
16
- worldwide (1.10.0)
16
+ worldwide (1.11.0)
17
17
  activesupport (>= 7.0)
18
18
  i18n
19
19
  phonelib (~> 0.8)
@@ -31,6 +31,9 @@ format:
31
31
  show: "{firstName} {lastName}_{company}_{address1}_{address2}_{zip} {city}_{country}_{phone}"
32
32
  format_extended:
33
33
  edit: "{country}_{firstName}{lastName}_{company}_{streetName}{streetNumber}_{address2}_{zip}{city}_{phone}"
34
+ address1_regex:
35
+ - "^(?<streetName>[^\\d,]+),? (?<streetNumber>\\d+(?: ?[a-z])?)$"
36
+ - "^(?<streetNumber>\\d+(?: ?[a-z])?),? (?<streetName>[^\\d,]+)$"
34
37
  additional_address_fields:
35
38
  - name: streetName
36
39
  required: true
@@ -28,6 +28,8 @@ format:
28
28
  show: "{firstName} {lastName}_{company}_{address1}_{address2}_{zip} {city} {province}_{country}_{phone}"
29
29
  format_extended:
30
30
  edit: "{country}_{firstName}{lastName}_{company}_{zip}_{streetName}{streetNumber}_{line2}{neighborhood}_{city}{province}_{phone}"
31
+ address1_regex:
32
+ - "^(?<streetName>(?!.*\\bnúmero\\b)[^\\d,]+(?<!\\s))(?:,? ?)(?<streetNumber>\\d+(?: ?[a-z])?)$"
31
33
  additional_address_fields:
32
34
  - name: streetName
33
35
  required: true
@@ -16,6 +16,8 @@ format:
16
16
  show: "{firstName} {lastName}_{company}_{address1}_{address2}_{zip} {city}_{province}_{country}_{phone}"
17
17
  format_extended:
18
18
  edit: "{country}_{firstName}{lastName}_{company}_{streetName}{streetNumber}_{line2}{neighborhood}_{zip}{city}_{province}_{phone}"
19
+ address1_regex:
20
+ - "^(?<streetName>[^\\d,]+?),? (?<streetNumber>(?:n|n\\.|nº|número|no\\.|no|#)? ?\\d+(?: ?[a-z])?)$"
19
21
  additional_address_fields:
20
22
  - name: streetName
21
23
  required: true
@@ -29,6 +29,9 @@ format:
29
29
  show: "{firstName} {lastName}_{company}_{address1}_{address2}_{zip} {city}_{country}_{phone}"
30
30
  format_extended:
31
31
  edit: "{country}_{firstName}{lastName}_{company}_{streetName}{streetNumber}_{address2}_{zip}{city}_{phone}"
32
+ address1_regex:
33
+ - "^(?<streetName>[^\\d,]+?\\.?)[, ]{1,2}(?<streetNumber>\\d+(?: ?[a-z])?)$"
34
+ - "^(?<streetName>[^\\d,]+\\.)(?<streetNumber>\\d+(?: ?[a-z])?)$"
32
35
  additional_address_fields:
33
36
  - name: streetName
34
37
  required: true
@@ -29,6 +29,8 @@ format:
29
29
  show: "{firstName} {lastName}_{company}_{address1}_{address2}_{zip} {city}_{province}_{country}_{phone}"
30
30
  format_extended:
31
31
  edit: "{country}_{firstName}{lastName}_{company}_{streetName}{streetNumber}_{address2}_{zip}{city}{province}_{phone}"
32
+ address1_regex:
33
+ - "^(?<streetName>[^\\d,]+?),? (?<streetNumber>(?:n|n\\.|nº|número|no\\.|no|#)? ?\\d+(?: ?[a-z])?)$"
32
34
  additional_address_fields:
33
35
  - name: streetName
34
36
  required: true
@@ -18,6 +18,9 @@ format:
18
18
  show: "{firstName} {lastName}_{company}_{address1}_{address2}_{zip} {city}_{country}_{phone}"
19
19
  format_extended:
20
20
  edit: "{country}_{firstName}{lastName}_{company}_{streetName}{streetNumber}_{address2}_{zip}{city}_{phone}"
21
+ address1_regex:
22
+ - "^(?<streetName>[^\\d,]+),? (?<streetNumber>\\d+(?:\/\\d+)?)$"
23
+ - "^(?<streetNumber>\\d+(?:\/\\d+)?),? (?<streetName>[^\\d,]+)$"
21
24
  additional_address_fields:
22
25
  - name: streetName
23
26
  required: true
@@ -17,6 +17,8 @@ format:
17
17
  show: "{firstName} {lastName}_{company}_{address1}_{address2}_{zip} {city} {province}_{country}_{phone}"
18
18
  format_extended:
19
19
  edit: "{country}_{firstName}{lastName}_{company}_{streetName}{streetNumber}_{line2}{neighborhood}_{zip}{city}{province}_{phone}"
20
+ address1_regex:
21
+ - "^(?<streetName>[^\\d,]+?),? (?<streetNumber>(?:n|n\\.|nº|número|no\\.|no|#)? ?\\d+(?: ?[a-z])?)$"
20
22
  additional_address_fields:
21
23
  - name: streetName
22
24
  required: true
@@ -30,6 +30,8 @@ format:
30
30
  show: "{firstName} {lastName}_{company}_{address1}_{address2}_{zip} {city}_{country}_{phone}"
31
31
  format_extended:
32
32
  edit: "{country}_{firstName}{lastName}_{company}_{streetName}{streetNumber}_{address2}_{zip}{city}_{phone}"
33
+ address1_regex:
34
+ - "^(?<streetName>[^\\d]+) (?<streetNumber>\\d+(?: ?[a-z])?)$"
33
35
  additional_address_fields:
34
36
  - name: streetName
35
37
  required: true
@@ -57,6 +57,7 @@ module Worldwide
57
57
  "Etc/UCT": "UTC",
58
58
  "Etc/Universal": "UTC",
59
59
  "Etc/Zulu": "UTC",
60
+ "Europe/Kiev": "Europe/Kyiv",
60
61
  GB: "Europe/London",
61
62
  "GB-Eire": "Europe/London",
62
63
  "GMT+0": "Etc/GMT",
@@ -36,6 +36,7 @@ module Worldwide
36
36
  :zip_requirement,
37
37
  :additional_address_fields,
38
38
  :combined_address_format,
39
+ :address1_regex,
39
40
  ]
40
41
 
41
42
  # A region may have more than one parent.
@@ -208,6 +209,9 @@ module Worldwide
208
209
  # A hash of the rules for concatening the additional address fields into the standard fields
209
210
  attr_accessor :combined_address_format
210
211
 
212
+ # An array of regex patterns of the address1 field, capturing the supported additional address fields
213
+ attr_accessor :address1_regex
214
+
211
215
  def initialize(
212
216
  alpha_three: nil,
213
217
  continent: false,
@@ -245,6 +249,7 @@ module Worldwide
245
249
 
246
250
  @additional_address_fields = []
247
251
  @combined_address_format = {}
252
+ @address1_regex = []
248
253
  @building_number_required = false
249
254
  @building_number_may_be_in_address2 = false
250
255
  @currency = nil
@@ -97,6 +97,7 @@ module Worldwide
97
97
  def apply_territory_attributes(region, spec)
98
98
  region.additional_address_fields = spec["additional_address_fields"] || []
99
99
  region.combined_address_format = spec["combined_address_format"] || {}
100
+ region.address1_regex = spec["address1_regex"] || []
100
101
  region.building_number_required = spec["building_number_required"] || false
101
102
  region.building_number_may_be_in_address2 = spec["building_number_may_be_in_address2"] || false
102
103
  currency_code = spec["currency"]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Worldwide
4
- VERSION = "1.10.0"
4
+ VERSION = "1.11.0"
5
5
  end
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: 1.10.0
4
+ version: 1.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-16 00:00:00.000000000 Z
11
+ date: 2024-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -8505,7 +8505,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
8505
8505
  - !ruby/object:Gem::Version
8506
8506
  version: '0'
8507
8507
  requirements: []
8508
- rubygems_version: 3.5.18
8508
+ rubygems_version: 3.5.20
8509
8509
  signing_key:
8510
8510
  specification_version: 4
8511
8511
  summary: Internationalization and localization APIs