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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: db8a6f29a3bc194d1e92bdd7721710f5df1b64f4
4
- data.tar.gz: ef7cf5392a1bef56c7ef3e0291178d31d8ce8bd7
3
+ metadata.gz: d0c6f16ed5bd05072568ba080f77ffebe7837e95
4
+ data.tar.gz: b54b5eb8e6931dc9bf4e22248a1df335e5b76b0c
5
5
  SHA512:
6
- metadata.gz: 829e0e6e118be615ef5842b30ddb976fcc9796994685da173489162b5248d4415ad6fd5c44b57b5c1b5f26faecc79e4fef4ca122a2c86ea5f1e337f767b624f8
7
- data.tar.gz: 73c8d30bbcbe5175b742c605198096926826f86cf86e597ee9b735a9a2fb2dd3b249b378c8aaa810a85d3419a7b91e55726723488eea07d4bdd3be4033260b8d
6
+ metadata.gz: 260110a866a87674dcb535ef69bc1a1a13cb5ac631592b2830e19309a302d5d6c72bd51c421f8e6b68c7ff7dfdafde366c8a7c4b9464dabbe295d8824f5f2876
7
+ data.tar.gz: 018c035fdc3640992f4f83a28ece9eee64896d0d127cbfc9381278fd728beef47283768b556ec85cc9aca995ba12f8cd82ea0ab4735c4b698495dc5aa29fd1e5
@@ -0,0 +1,7 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard :rspec do
5
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
6
+ watch(%r{^spec/(.+)\.rb$}) { |m| "spec/#{m[1]}.rb" }
7
+ end
@@ -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/,
@@ -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
@@ -1,3 +1,3 @@
1
1
  module PolarExpress
2
- VERSION = "0.0.5.alpha"
2
+ VERSION = "0.0.6.alpha"
3
3
  end
@@ -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.pre"
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
- pp statuses
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
@@ -11,4 +11,6 @@ RSpec.configure do |config|
11
11
 
12
12
  # Use the specified formatter
13
13
  config.formatter = :documentation # :progress, :html, :textmate
14
- end
14
+ config.filter_run_including :focus => true
15
+ config.run_all_when_everything_filtered = true
16
+ end
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.5.alpha
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-03-28 00:00:00.000000000 Z
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.pre
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.pre
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.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!