polar_express 0.0.5.alpha → 0.0.6.alpha

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
  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!