dhl_express 1.0.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 +7 -0
- data/.gitignore +18 -0
- data/.pryrc +9 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +75 -0
- data/Guardfile +8 -0
- data/LICENCE.txt +0 -0
- data/README.md +49 -0
- data/dhl_express.gemspec +28 -0
- data/lib/dhl_express.rb +5 -0
- data/lib/dhl_express/tracking.rb +81 -0
- data/lib/dhl_express/version.rb +3 -0
- data/spec/dhl_express/tracking_spec.rb +59 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/vcr/empty_tracking.yml +52 -0
- data/spec/vcr/working_tracking.yml +84 -0
- metadata +161 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 4c482cf75a564a668a2d07b6ae09d0364c3f86ba
|
4
|
+
data.tar.gz: 0a3f2875e127dbf21ea1547d1caf5d6da7d350da
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c49ad635687427bb2076102a663567c01460ab18cfc1f76da55b031bc5b69bf4b8178b58f4b3742351c7c700fd7c6453475454055d1bab3e52360c046869d5b8
|
7
|
+
data.tar.gz: fb81f0980e20644727dfdd5894cc474fc4f1bc245aebbf66611439ea85605ff23096590f22ae70847d2c3aba6b12857adec2e8e9a2e6f2b623c6e786468fdaa5
|
data/.gitignore
ADDED
data/.pryrc
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
jp_post (1.0.0)
|
5
|
+
chronic
|
6
|
+
nokogiri
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
celluloid (0.16.0)
|
12
|
+
timers (~> 4.0.0)
|
13
|
+
chronic (0.10.2)
|
14
|
+
coderay (1.1.0)
|
15
|
+
diff-lcs (1.2.5)
|
16
|
+
ethon (0.7.1)
|
17
|
+
ffi (>= 1.3.0)
|
18
|
+
ffi (1.9.6)
|
19
|
+
formatador (0.2.5)
|
20
|
+
guard (2.8.0)
|
21
|
+
formatador (>= 0.2.4)
|
22
|
+
listen (~> 2.7)
|
23
|
+
lumberjack (~> 1.0)
|
24
|
+
pry (>= 0.9.12)
|
25
|
+
thor (>= 0.18.1)
|
26
|
+
guard-rspec (4.3.1)
|
27
|
+
guard (~> 2.1)
|
28
|
+
rspec (>= 2.14, < 4.0)
|
29
|
+
hitimes (1.2.2)
|
30
|
+
listen (2.7.11)
|
31
|
+
celluloid (>= 0.15.2)
|
32
|
+
rb-fsevent (>= 0.9.3)
|
33
|
+
rb-inotify (>= 0.9)
|
34
|
+
lumberjack (1.0.9)
|
35
|
+
method_source (0.8.2)
|
36
|
+
mini_portile (0.6.0)
|
37
|
+
nokogiri (1.6.3.1)
|
38
|
+
mini_portile (= 0.6.0)
|
39
|
+
pry (0.10.1)
|
40
|
+
coderay (~> 1.1.0)
|
41
|
+
method_source (~> 0.8.1)
|
42
|
+
slop (~> 3.4)
|
43
|
+
rb-fsevent (0.9.4)
|
44
|
+
rb-inotify (0.9.5)
|
45
|
+
ffi (>= 0.5.0)
|
46
|
+
rspec (3.1.0)
|
47
|
+
rspec-core (~> 3.1.0)
|
48
|
+
rspec-expectations (~> 3.1.0)
|
49
|
+
rspec-mocks (~> 3.1.0)
|
50
|
+
rspec-core (3.1.7)
|
51
|
+
rspec-support (~> 3.1.0)
|
52
|
+
rspec-expectations (3.1.2)
|
53
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
54
|
+
rspec-support (~> 3.1.0)
|
55
|
+
rspec-mocks (3.1.3)
|
56
|
+
rspec-support (~> 3.1.0)
|
57
|
+
rspec-support (3.1.2)
|
58
|
+
slop (3.6.0)
|
59
|
+
thor (0.19.1)
|
60
|
+
timers (4.0.1)
|
61
|
+
hitimes
|
62
|
+
typhoeus (0.6.9)
|
63
|
+
ethon (>= 0.7.1)
|
64
|
+
vcr (2.9.3)
|
65
|
+
|
66
|
+
PLATFORMS
|
67
|
+
ruby
|
68
|
+
|
69
|
+
DEPENDENCIES
|
70
|
+
bundler
|
71
|
+
guard-rspec
|
72
|
+
jp_post!
|
73
|
+
rspec
|
74
|
+
typhoeus
|
75
|
+
vcr
|
data/Guardfile
ADDED
data/LICENCE.txt
ADDED
File without changes
|
data/README.md
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
## DHL Express :package:
|
2
|
+
[](https://travis-ci.org/SebastianSzturo/jp_post) [](https://codeclimate.com/github/SebastianSzturo/jp_post)
|
3
|
+
|
4
|
+
A gem to track international DHL Express package without the DHL SOAP/XML API.
|
5
|
+
|
6
|
+
## Requirements
|
7
|
+
- Ruby 1.9
|
8
|
+
|
9
|
+
## Installation
|
10
|
+
|
11
|
+
Add this to your gemfile
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
gem 'dhl_express'
|
15
|
+
```
|
16
|
+
|
17
|
+
and
|
18
|
+
|
19
|
+
```
|
20
|
+
bundle
|
21
|
+
```
|
22
|
+
|
23
|
+
## Tracking :round_pushpin:
|
24
|
+
|
25
|
+
Track a package with it's waybill tracking number.
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
package = DhlExpress::Tracking.new("123456789")
|
29
|
+
```
|
30
|
+
|
31
|
+
Access tracking information.
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
package = DhlExpress::Tracking.new("123456789")
|
35
|
+
|
36
|
+
package.origin # e.g. "TOKYO - TOKYO - JAPAN"
|
37
|
+
package.destination # e.g. "GREENSBORO, NC - GREENSBORO - USA"
|
38
|
+
package.status # e.g. String of current history status point
|
39
|
+
|
40
|
+
package.history # Array of package movement history in chronological order
|
41
|
+
```
|
42
|
+
|
43
|
+
## Contributing
|
44
|
+
|
45
|
+
1. Fork it
|
46
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
47
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
48
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
49
|
+
5. Create new Pull Request
|
data/dhl_express.gemspec
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'dhl_express/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "dhl_express"
|
8
|
+
spec.version = DhlExpress::VERSION
|
9
|
+
spec.authors = ["Sebastian Szturo"]
|
10
|
+
spec.email = ["s.szturo@me.com"]
|
11
|
+
spec.description = "Gem to access international DHL Express Services."
|
12
|
+
spec.summary = "Gem to access international DHL Express Services."
|
13
|
+
spec.homepage = "http://github.com/SebastianSzturo/dhl_express"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "nokogiri"
|
22
|
+
spec.add_dependency "chronic"
|
23
|
+
spec.add_development_dependency "bundler"
|
24
|
+
spec.add_development_dependency "rspec"
|
25
|
+
spec.add_development_dependency "guard-rspec"
|
26
|
+
spec.add_development_dependency "vcr"
|
27
|
+
spec.add_development_dependency "typhoeus"
|
28
|
+
end
|
data/lib/dhl_express.rb
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
require "typhoeus"
|
2
|
+
require "json"
|
3
|
+
require "chronic"
|
4
|
+
|
5
|
+
module DhlExpress
|
6
|
+
class Tracking
|
7
|
+
# Create a new Tracking object.
|
8
|
+
#
|
9
|
+
# tracking_number - tracking number of the package to lookup.
|
10
|
+
#
|
11
|
+
# Returns an instance of DhlExpress::Tracking.
|
12
|
+
def initialize(tracking_number)
|
13
|
+
raise ArgumentError unless tracking_number
|
14
|
+
|
15
|
+
@tracking_number = tracking_number
|
16
|
+
tracking_url = "https://www.mydhl.dhl.com/shipmentTracking?AWB=#{@tracking_number}"
|
17
|
+
|
18
|
+
@tracking_json = JSON.parse(Typhoeus.get(tracking_url).body)
|
19
|
+
|
20
|
+
raise RuntimeError, "No Tracking found." if @tracking_json["results"].nil?
|
21
|
+
end
|
22
|
+
|
23
|
+
# Origin of the package
|
24
|
+
#
|
25
|
+
# Returns origin as String.
|
26
|
+
def origin
|
27
|
+
origin = @tracking_json["results"][0]["origin"]["value"].strip
|
28
|
+
return origin
|
29
|
+
end
|
30
|
+
|
31
|
+
# Destination of the packaage
|
32
|
+
#
|
33
|
+
# Returns destination as String.
|
34
|
+
def destination
|
35
|
+
destination = @tracking_json["results"][0]["destination"]["value"].strip
|
36
|
+
return destination
|
37
|
+
end
|
38
|
+
|
39
|
+
# Current status of the package in the history
|
40
|
+
#
|
41
|
+
# Returns status as String.
|
42
|
+
def status
|
43
|
+
status = @tracking_json["results"][0]["description"].strip
|
44
|
+
return status
|
45
|
+
end
|
46
|
+
|
47
|
+
# History of package checkpoints in chronological order
|
48
|
+
#
|
49
|
+
# Returns tracking history as Array.
|
50
|
+
def history
|
51
|
+
checkpoints = @tracking_json["results"][0]["checkpoints"]
|
52
|
+
|
53
|
+
history = []
|
54
|
+
|
55
|
+
checkpoints.each do |checkpoint|
|
56
|
+
date = dhl_date_string_as_date(checkpoint)
|
57
|
+
action = checkpoint["description"].strip
|
58
|
+
location = checkpoint["location"].strip
|
59
|
+
|
60
|
+
history << { date: date, action: action, location: location }
|
61
|
+
end
|
62
|
+
|
63
|
+
history.sort_by! { |h| h[:date] }
|
64
|
+
|
65
|
+
return history
|
66
|
+
end
|
67
|
+
|
68
|
+
private
|
69
|
+
|
70
|
+
def dhl_date_string_as_date(checkpoint)
|
71
|
+
date_string = checkpoint["date"]
|
72
|
+
month_string_position = date_string.index(",")+2
|
73
|
+
date_without_weekday = date_string[month_string_position...date_string.length]
|
74
|
+
time = checkpoint["time"]
|
75
|
+
|
76
|
+
date = Chronic.parse("#{date_without_weekday} at #{time}") rescue nil
|
77
|
+
return date
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe DhlExpress::Tracking do
|
4
|
+
describe "#initialize" do
|
5
|
+
it "should not initialize without tracking number argument" do
|
6
|
+
expect { DhlExpress::Tracking.new() }.to raise_error(ArgumentError)
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should not initialize with empty tracking" do
|
10
|
+
VCR.use_cassette 'empty_tracking' do
|
11
|
+
expect { DhlExpress::Tracking.new("1234567") }.to raise_error(RuntimeError)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should initialize a tracking object" do
|
16
|
+
VCR.use_cassette 'working_tracking' do
|
17
|
+
package = DhlExpress::Tracking.new("6476119576")
|
18
|
+
expect(package).to be_kind_of(DhlExpress::Tracking)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "#origin" do
|
24
|
+
it "should return a origin string" do
|
25
|
+
VCR.use_cassette 'working_tracking' do
|
26
|
+
package = DhlExpress::Tracking.new("6476119576")
|
27
|
+
expect(package.origin).to be_kind_of(String)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe "#destination" do
|
33
|
+
it "should return a destination string" do
|
34
|
+
VCR.use_cassette 'working_tracking' do
|
35
|
+
package = DhlExpress::Tracking.new("6476119576")
|
36
|
+
expect(package.destination).to be_kind_of(String)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "#status" do
|
42
|
+
it "should return a status string" do
|
43
|
+
VCR.use_cassette 'working_tracking' do
|
44
|
+
package = DhlExpress::Tracking.new("6476119576")
|
45
|
+
expect(package.status).to be_kind_of(String)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe "#history" do
|
51
|
+
it "should return a history array" do
|
52
|
+
VCR.use_cassette 'working_tracking' do
|
53
|
+
package = DhlExpress::Tracking.new("6476119576")
|
54
|
+
expect(package.history).to be_kind_of(Array)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'dhl_express'
|
2
|
+
require 'vcr'
|
3
|
+
|
4
|
+
# VCR Setup
|
5
|
+
VCR.configure do |c|
|
6
|
+
c.cassette_library_dir = 'spec/vcr'
|
7
|
+
c.hook_into :typhoeus
|
8
|
+
end
|
9
|
+
|
10
|
+
# RSpec Setup
|
11
|
+
RSpec.configure do |config|
|
12
|
+
config.run_all_when_everything_filtered = true
|
13
|
+
config.order = 'random'
|
14
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.mydhl.dhl.com/shipmentTracking?AWB=1234567
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Typhoeus - https://github.com/typhoeus/typhoeus
|
12
|
+
response:
|
13
|
+
status:
|
14
|
+
code: 200
|
15
|
+
message: OK
|
16
|
+
headers:
|
17
|
+
X-Frame-Options:
|
18
|
+
- SAMEORIGIN
|
19
|
+
Cache-Control:
|
20
|
+
- s-maxage=172800
|
21
|
+
- max-age=172800
|
22
|
+
Content-Type:
|
23
|
+
- application/json;charset=UTF-8
|
24
|
+
Expires:
|
25
|
+
- Mon, 10 Nov 2014 06:20:33 GMT
|
26
|
+
MyHeader:
|
27
|
+
- D=37339
|
28
|
+
Content-Length:
|
29
|
+
- '165'
|
30
|
+
Date:
|
31
|
+
- Sat, 08 Nov 2014 06:20:33 GMT
|
32
|
+
Connection:
|
33
|
+
- keep-alive
|
34
|
+
Set-Cookie:
|
35
|
+
- TS017581b3=012d4839b318947c44326df3f5ecad656d3a45b00b5a5ef3b3f7bc08c8b390e91389419794;
|
36
|
+
Path=/; Secure; HTTPOnly
|
37
|
+
body:
|
38
|
+
encoding: UTF-8
|
39
|
+
string: |-
|
40
|
+
{
|
41
|
+
"errors" : [ {
|
42
|
+
"code" : 404,
|
43
|
+
"label" : "Not found",
|
44
|
+
"message" : "No result found for your DHL query. Please try again.",
|
45
|
+
"id" : "1234567"
|
46
|
+
} ]
|
47
|
+
}
|
48
|
+
http_version: '1.1'
|
49
|
+
adapter_metadata:
|
50
|
+
effective_url: https://www.mydhl.dhl.com/shipmentTracking?AWB=1234567
|
51
|
+
recorded_at: Sat, 08 Nov 2014 06:20:33 GMT
|
52
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,84 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.mydhl.dhl.com/shipmentTracking?AWB=6476119576
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Typhoeus - https://github.com/typhoeus/typhoeus
|
12
|
+
response:
|
13
|
+
status:
|
14
|
+
code: 200
|
15
|
+
message: OK
|
16
|
+
headers:
|
17
|
+
Cache-Control:
|
18
|
+
- s-maxage=172800
|
19
|
+
Expires:
|
20
|
+
- Mon, 10 Nov 2014 05:37:23 GMT
|
21
|
+
MyHeader:
|
22
|
+
- D=454085
|
23
|
+
X-Frame-Options:
|
24
|
+
- SAMEORIGIN
|
25
|
+
Content-Length:
|
26
|
+
- '1404'
|
27
|
+
Content-Type:
|
28
|
+
- application/json;charset=UTF-8
|
29
|
+
Date:
|
30
|
+
- Sat, 08 Nov 2014 06:20:33 GMT
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
Set-Cookie:
|
34
|
+
- TS016f3c0b=01914b743d55f0dfe481a6f14f9bc17ce30eb4edd08abab906ac918865663d03d83d32b156;
|
35
|
+
Path=/
|
36
|
+
- TS017581b3=012d4839b38099af17f13f251b42089167c25acb0b0d839e5ed0d86c977ba6852bec27780bf8dd29a4441c4ee72715fae48a420d94;
|
37
|
+
Path=/; Secure; HTTPOnly
|
38
|
+
body:
|
39
|
+
encoding: UTF-8
|
40
|
+
string: |-
|
41
|
+
{
|
42
|
+
"results" : [ {
|
43
|
+
"id" : "6476119576",
|
44
|
+
"label" : "Waybill",
|
45
|
+
"type" : "airwaybill",
|
46
|
+
"duplicate" : false,
|
47
|
+
"origin" : {
|
48
|
+
"value" : "TOKYO - HIGASHIKURUME - JAPAN",
|
49
|
+
"label" : "Origin Service Area",
|
50
|
+
"url" : "http://www.dhl.co.jp/en/country_profile.html"
|
51
|
+
},
|
52
|
+
"destination" : {
|
53
|
+
"value" : "GREENSBORO, NC - GREENSBORO - USA",
|
54
|
+
"label" : "Destination Service Area",
|
55
|
+
"url" : "http://www.dhl-usa.com/en/country_profile.html"
|
56
|
+
},
|
57
|
+
"description" : "Shipment information received : Friday, November 07, 2014 at 15:34",
|
58
|
+
"hasDuplicateShipment" : false,
|
59
|
+
"signature" : {
|
60
|
+
"link" : {
|
61
|
+
"url" : "https://proview.dhl.com/GC3/proview/adhocnotify?id=mAtE%2F0oL0r0wvmjggydn8Zh%2FkrRB7XethXdun71Ou1A%3D&appuid=ONWLDos95lgDjSxbiEfEsg%3D%3D&locale=en_G0&token=R3Fk9Yr1tYl7WI25yMeMGrA0V4qA124LF2O22zX5298%3D",
|
62
|
+
"label" : "Sign up for shipment notifications"
|
63
|
+
},
|
64
|
+
"type" : "proview",
|
65
|
+
"description" : "Friday, November 07, 2014 at 15:34",
|
66
|
+
"signatory" : "Shipment information received ",
|
67
|
+
"help" : "help"
|
68
|
+
},
|
69
|
+
"checkpoints" : [ {
|
70
|
+
"counter" : 1,
|
71
|
+
"description" : "Shipment information received",
|
72
|
+
"time" : "15:34",
|
73
|
+
"date" : "Friday, November 07, 2014 ",
|
74
|
+
"location" : "TOKYO - JAPAN"
|
75
|
+
} ],
|
76
|
+
"checkpointLocationLabel" : "Location",
|
77
|
+
"checkpointTimeLabel" : "Time"
|
78
|
+
} ]
|
79
|
+
}
|
80
|
+
http_version: '1.1'
|
81
|
+
adapter_metadata:
|
82
|
+
effective_url: https://www.mydhl.dhl.com/shipmentTracking?AWB=6476119576
|
83
|
+
recorded_at: Sat, 08 Nov 2014 06:20:33 GMT
|
84
|
+
recorded_with: VCR 2.9.3
|
metadata
ADDED
@@ -0,0 +1,161 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: dhl_express
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Sebastian Szturo
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-11-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: nokogiri
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: chronic
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
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: vcr
|
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'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: typhoeus
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
description: Gem to access international DHL Express Services.
|
112
|
+
email:
|
113
|
+
- s.szturo@me.com
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- ".gitignore"
|
119
|
+
- ".pryrc"
|
120
|
+
- Gemfile
|
121
|
+
- Gemfile.lock
|
122
|
+
- Guardfile
|
123
|
+
- LICENCE.txt
|
124
|
+
- README.md
|
125
|
+
- dhl_express.gemspec
|
126
|
+
- lib/dhl_express.rb
|
127
|
+
- lib/dhl_express/tracking.rb
|
128
|
+
- lib/dhl_express/version.rb
|
129
|
+
- spec/dhl_express/tracking_spec.rb
|
130
|
+
- spec/spec_helper.rb
|
131
|
+
- spec/vcr/empty_tracking.yml
|
132
|
+
- spec/vcr/working_tracking.yml
|
133
|
+
homepage: http://github.com/SebastianSzturo/dhl_express
|
134
|
+
licenses:
|
135
|
+
- MIT
|
136
|
+
metadata: {}
|
137
|
+
post_install_message:
|
138
|
+
rdoc_options: []
|
139
|
+
require_paths:
|
140
|
+
- lib
|
141
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
151
|
+
requirements: []
|
152
|
+
rubyforge_project:
|
153
|
+
rubygems_version: 2.2.2
|
154
|
+
signing_key:
|
155
|
+
specification_version: 4
|
156
|
+
summary: Gem to access international DHL Express Services.
|
157
|
+
test_files:
|
158
|
+
- spec/dhl_express/tracking_spec.rb
|
159
|
+
- spec/spec_helper.rb
|
160
|
+
- spec/vcr/empty_tracking.yml
|
161
|
+
- spec/vcr/working_tracking.yml
|