tracking_number 2.1.1 → 2.3.0
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 +24 -0
- data/lib/data/couriers/dhl.json +29 -2
- data/lib/tracking_number/base.rb +2 -0
- data/lib/tracking_number/checksum_validations.rb +7 -1
- data/lib/tracking_number/version.rb +1 -1
- 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: 6b89a47ae97b7827ccdcba6c1c58aefb21868fb44810727983d451ebc8ff7448
|
4
|
+
data.tar.gz: f0a25b8c5152b426887c4afcc2060b737471a90db462cd48ed516c09be1f3476
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 355632def57fa6426ca6d1d901f2c6e06fee9f7c54d6d295ee31fdbba65e62ff9fa79e28a6a935f83858c964ca7cb06606fad2add55ff4fb9306ec3b79f1369c
|
7
|
+
data.tar.gz: c9f3f31326e0ee37948a16ece6fedec22ec87316250d03f99fafa9a510c9ddecdb68cff7bafe0afa17a9fe1f01b995c2bf7a70c9f92555764ca604f364b3242e
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,29 @@
|
|
1
1
|
tracking_number changelog
|
2
2
|
|
3
|
+
# [2.3.0](https://github.com/jkeen/tracking_number/compare/v2.2.0...v2.3.0) (2025-08-21)
|
4
|
+
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
* prevent error when lookup is balnk for an additional info group ([cce4ddd](https://github.com/jkeen/tracking_number/commit/cce4dddf1ec4b62baa684af24a8be96893fd33a6))
|
9
|
+
|
10
|
+
|
11
|
+
### Features
|
12
|
+
|
13
|
+
* add validation option to mod10 to validate in reverse ([3736b50](https://github.com/jkeen/tracking_number/commit/3736b5003d2cc4cbaec2db50f8b64add61897731))
|
14
|
+
|
15
|
+
# [2.2.0](https://github.com/jkeen/tracking_number/compare/v2.1.1...v2.2.0) (2025-06-24)
|
16
|
+
|
17
|
+
|
18
|
+
### Bug Fixes
|
19
|
+
|
20
|
+
* bump tracking_number_data to 1.8.1 to tighten up e-commerce tracking number detection ([a2409df](https://github.com/jkeen/tracking_number/commit/a2409df7b9b1c2d9a89bd3323304bf4ba3d19e8a))
|
21
|
+
|
22
|
+
|
23
|
+
### Features
|
24
|
+
|
25
|
+
* update to tracking number data 1.8 adding support for DHL 14 digit numbers ([5c14110](https://github.com/jkeen/tracking_number/commit/5c1411041544e400e25d94f385d2d230c5bedbbd))
|
26
|
+
|
3
27
|
## [2.1.1](https://github.com/jkeen/tracking_number/compare/v2.1.0...v2.1.1) (2025-04-08)
|
4
28
|
|
5
29
|
# [2.1.0](https://github.com/jkeen/tracking_number/compare/v2.0.1...v2.1.0) (2025-04-07)
|
data/lib/data/couriers/dhl.json
CHANGED
@@ -48,16 +48,43 @@
|
|
48
48
|
{
|
49
49
|
"name": "DHL E-Commerce",
|
50
50
|
"id": "dhl_ecommerce",
|
51
|
-
"regex": "
|
51
|
+
"regex": "(?:GM|LX|RX|UV|CN|SG|TH|IN|HK|MY)\\s*(?<SerialNumber>(?=[0-9A-Z\\s]{10,39}\\b)(?=[^0-9A-Z]*[0-9])[0-9A-Z\\s]{10,39})",
|
52
52
|
"validation": {},
|
53
53
|
"tracking_url": "http://www.dhl.com/en/express/tracking.html?brand=DHL&AWB=%s",
|
54
54
|
"test_numbers": {
|
55
55
|
"valid": [
|
56
56
|
"GM2951173225174494",
|
57
57
|
"GM 2 9 5 117 32 25 1 7 44 9 4",
|
58
|
-
"GM295117494011169042"
|
58
|
+
"GM295117494011169042",
|
59
|
+
"GM9E44608A27984866BA2D"
|
59
60
|
],
|
60
61
|
"invalid": [
|
62
|
+
"GS295117494011169041",
|
63
|
+
"GR295117494011169045",
|
64
|
+
"AAAAAAAAAAAAAAAAAA",
|
65
|
+
"ABCDEFGHILJKLMNOPQ",
|
66
|
+
"ABCDEFGHILJKLMNOPQRSTU1234567890"
|
67
|
+
]
|
68
|
+
}
|
69
|
+
},
|
70
|
+
{
|
71
|
+
"name": "DHL E-Commerce (14)",
|
72
|
+
"id": "dhl_ecommerce_14",
|
73
|
+
"regex": "\\s*\\b(?<SerialNumber>(?:[0-9]\\s*){14})\\b",
|
74
|
+
"validation": {},
|
75
|
+
"tracking_url": "http://www.dhl.com/en/express/tracking.html?brand=DHL&AWB=%s",
|
76
|
+
"test_numbers": {
|
77
|
+
"valid": [
|
78
|
+
"60120172242323",
|
79
|
+
"5108 7693037816",
|
80
|
+
"60120174971147"
|
81
|
+
],
|
82
|
+
"invalid": [
|
83
|
+
"A60120172242323",
|
84
|
+
"60120172242323B",
|
85
|
+
"160120172242323",
|
86
|
+
"6012017224232301",
|
87
|
+
"601201722X2323",
|
61
88
|
"GS295117494011169041",
|
62
89
|
"GR295117494011169045"
|
63
90
|
]
|
data/lib/tracking_number/base.rb
CHANGED
@@ -235,8 +235,10 @@ module TrackingNumber
|
|
235
235
|
|
236
236
|
additional.each do |additional_info|
|
237
237
|
next unless matches && matches.length > 0 # skip if no match groups
|
238
|
+
|
238
239
|
value = matches[additional_info[:regex_group_name]].gsub(/\s/, '') # match is empty
|
239
240
|
next unless value
|
241
|
+
next unless additional_info[:lookup]
|
240
242
|
|
241
243
|
matches = additional_info[:lookup].find do |i|
|
242
244
|
if i[:matches]
|
@@ -34,7 +34,13 @@ module TrackingNumber
|
|
34
34
|
|
35
35
|
def validates_mod10?(sequence, check_digit, extras = {})
|
36
36
|
total = 0
|
37
|
-
|
37
|
+
characters = if extras[:reverse]
|
38
|
+
sequence.chars.reverse
|
39
|
+
else
|
40
|
+
sequence.chars
|
41
|
+
end
|
42
|
+
|
43
|
+
characters.each_with_index do |c, i|
|
38
44
|
x = if c[/[0-9]/] # numeric
|
39
45
|
c.to_i
|
40
46
|
else
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tracking_number
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Keen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|