polar_express 0.0.5.alpha → 0.0.6.alpha
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/Guardfile +7 -0
- data/lib/polar_express/dhl.rb +5 -1
- data/lib/polar_express/hermes.rb +4 -0
- data/lib/polar_express/version.rb +1 -1
- data/polar_express.gemspec +3 -1
- data/spec/polar_express/dhl_spec.rb +7 -0
- data/spec/polar_express/hermes_spec.rb +6 -1
- data/spec/spec_helper.rb +3 -1
- metadata +34 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d0c6f16ed5bd05072568ba080f77ffebe7837e95
|
4
|
+
data.tar.gz: b54b5eb8e6931dc9bf4e22248a1df335e5b76b0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 260110a866a87674dcb535ef69bc1a1a13cb5ac631592b2830e19309a302d5d6c72bd51c421f8e6b68c7ff7dfdafde366c8a7c4b9464dabbe295d8824f5f2876
|
7
|
+
data.tar.gz: 018c035fdc3640992f4f83a28ece9eee64896d0d127cbfc9381278fd728beef47283768b556ec85cc9aca995ba12f8cd82ea0ab4735c4b698495dc5aa29fd1e5
|
data/Guardfile
ADDED
data/lib/polar_express/dhl.rb
CHANGED
@@ -30,13 +30,14 @@ module PolarExpress
|
|
30
30
|
else
|
31
31
|
status_text = tr.css('td.status').text.strip
|
32
32
|
end
|
33
|
+
next if status_text == '--'
|
33
34
|
{
|
34
35
|
date: DateTime.parse(get_date(tr.css('td.overflow').text)),
|
35
36
|
city: (city = tr.css('td.location').text.strip) == '--' ? nil : city,
|
36
37
|
status: text_to_status(status_text),
|
37
38
|
text: status_text
|
38
39
|
}
|
39
|
-
end
|
40
|
+
end.compact
|
40
41
|
end
|
41
42
|
def text_to_status(text)
|
42
43
|
match = Statuses.find do |status, regexes|
|
@@ -70,6 +71,7 @@ module PolarExpress
|
|
70
71
|
:destination_parcel_center => [
|
71
72
|
/Die Sendung wurde im Ziel-Paketzentrum bearbeitet/,
|
72
73
|
/Die Sendung wurde innerhalb des Ziel-Paketzentrums weitergeleitet/,
|
74
|
+
/Die Retouren-Sendung wurde im Ziel-Paketzentrum bearbeitet/
|
73
75
|
],
|
74
76
|
:in_delivery_vehicle => [
|
75
77
|
/Die Sendung befindet sich auf dem Weg zur PACKSTATION/,
|
@@ -107,6 +109,7 @@ module PolarExpress
|
|
107
109
|
/Die Sendung wurde fehlgeleitet und konnte nicht zugestellt werden. Die Sendung wird umadressiert und an den Empfänger weitergeleitet/,
|
108
110
|
/Die Sendung wurde zurückgestellt. Die Zustellung erfolgt voraussichtlich am nächsten Werktag/,
|
109
111
|
/Nicht durch DHL beeinflussbare Verzögerung in der Verzollung/,
|
112
|
+
/Die Sendung wurde im Paketzentrum manuell nachbearbeitet/
|
110
113
|
],
|
111
114
|
:on_hold_at_depot => [
|
112
115
|
/Sendung nach Zustellversuch zurück in DHL Station/,
|
@@ -116,6 +119,7 @@ module PolarExpress
|
|
116
119
|
/Die Auslands-Sendung wurde im Start-Paketzentrum bearbeitet/,
|
117
120
|
/Die Sendung wurde im Paketzentrum bearbeitet/,
|
118
121
|
/Die Sendung wurde im Start-Paketzentrum bearbeitet/,
|
122
|
+
/Die Retouren-Sendung wurde im Start-Paketzentrum bearbeitet/
|
119
123
|
],
|
120
124
|
:return_shipment => [
|
121
125
|
/Die Sendung wurde nicht abgeholt und wird zurückgesandt/,
|
data/lib/polar_express/hermes.rb
CHANGED
@@ -57,6 +57,9 @@ module PolarExpress
|
|
57
57
|
:delivery_succeeded => [
|
58
58
|
/Die Sendung wurde zugestellt/,
|
59
59
|
],
|
60
|
+
:return_succeeded => [
|
61
|
+
/Die Sendung ist beim Versender eingegangen/
|
62
|
+
],
|
60
63
|
:destination_parcel_center => [
|
61
64
|
/Die Sendung (wurde von|ist in) der Hermes Niederlassung (.+) (übernommen|eingetroffen)/,
|
62
65
|
],
|
@@ -93,6 +96,7 @@ module PolarExpress
|
|
93
96
|
/Der Empfänger wurde zum 3. Mal nicht angetroffen/,
|
94
97
|
/Die Sendung ist im Hermes PaketShop eingegangen/,
|
95
98
|
/Die Sendung liegt im Hermes PaketShop zur Abholung bereit/,
|
99
|
+
/Die Sendung wurde im Hermes PaketShop abgegeben/
|
96
100
|
]
|
97
101
|
}.freeze
|
98
102
|
end
|
data/polar_express.gemspec
CHANGED
@@ -18,8 +18,10 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_development_dependency "bundler", "~> 1.3.0
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.3.0"
|
22
22
|
spec.add_development_dependency "rake"
|
23
23
|
spec.add_development_dependency "rspec"
|
24
24
|
spec.add_development_dependency "shoulda"
|
25
|
+
spec.add_development_dependency "guard-rspec"
|
26
|
+
spec.add_development_dependency "rb-fsevent"
|
25
27
|
end
|
@@ -21,6 +21,13 @@ describe PolarExpress do
|
|
21
21
|
statuses = @tracker.track!.statuses
|
22
22
|
statuses.find { |status| status[:status] == :return_shipment }.should_not be_nil
|
23
23
|
end
|
24
|
+
it "recognizes every status" do
|
25
|
+
@tracker = PolarExpress.new('DHL', '100276522814')
|
26
|
+
statuses = @tracker.track!.statuses
|
27
|
+
unrecognized_statuses = statuses.select { |status| status[:status] == :other }
|
28
|
+
pp unrecognized_statuses unless unrecognized_statuses.empty?
|
29
|
+
unrecognized_statuses.should be_empty
|
30
|
+
end
|
24
31
|
it "only considers numbers from tracking number" do
|
25
32
|
tracker = PolarExpress.new('DHL', '777.707971 894')
|
26
33
|
tracker.shipping_number.should == '777707971894'
|
@@ -13,7 +13,12 @@ describe PolarExpress do
|
|
13
13
|
it "records tracking statuses" do
|
14
14
|
statuses = @tracker.track!.statuses
|
15
15
|
statuses.length.should > 1
|
16
|
-
|
16
|
+
end
|
17
|
+
it "recognizes every status" do
|
18
|
+
statuses = @tracker.track!.statuses
|
19
|
+
unrecognized_statuses = statuses.select { |status| status[:status] == :other }
|
20
|
+
pp unrecognized_statuses unless unrecognized_statuses.empty?
|
21
|
+
unrecognized_statuses.should be_empty
|
17
22
|
end
|
18
23
|
end
|
19
24
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: polar_express
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6.alpha
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- José Tomás Albornoz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.3.0
|
19
|
+
version: 1.3.0
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.3.0
|
26
|
+
version: 1.3.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +66,34 @@ dependencies:
|
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: guard-rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rb-fsevent
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
69
97
|
description: Package tracking done right.
|
70
98
|
email:
|
71
99
|
- jojo@eljojo.net
|
@@ -76,6 +104,7 @@ files:
|
|
76
104
|
- .gitignore
|
77
105
|
- .rspec
|
78
106
|
- Gemfile
|
107
|
+
- Guardfile
|
79
108
|
- LICENSE.txt
|
80
109
|
- README.md
|
81
110
|
- Rakefile
|
@@ -115,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
144
|
version: 1.3.1
|
116
145
|
requirements: []
|
117
146
|
rubyforge_project:
|
118
|
-
rubygems_version: 2.0.
|
147
|
+
rubygems_version: 2.0.3
|
119
148
|
signing_key:
|
120
149
|
specification_version: 4
|
121
150
|
summary: An easy an fun way of tracking packages. info = PolarExpress.new('DHL', '123456789').track!
|