aftership 4.1.1 → 4.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -20
- data/lib/aftership.rb +1 -5
- metadata +2 -6
- data/lib/aftership/v3/base.rb +0 -47
- data/lib/aftership/v3/courier.rb +0 -21
- data/lib/aftership/v3/last_checkpoint.rb +0 -17
- data/lib/aftership/v3/tracking.rb +0 -61
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 816eea3c35b379b4e3cd340278f68a0dcc2ae22d
|
4
|
+
data.tar.gz: 1dfdcd5fd8dc6f96dc8f882c61f0431369cbce52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5011017ab482f439d9a7aee133435186d0f162968d7d402326e56c3e8f94b82f2da049c8b4a3f8af72be57e6017f09ba641f466f8fda55877176fa56c6258d73
|
7
|
+
data.tar.gz: 71e62ff576f7f1b0d813bc80381be1da891ad1a9878918c3b57eb795389c8575952e300327847d20475acf3f01c59f93d3cf70a8f9760bcd2ee976f8b99b5de7
|
data/README.md
CHANGED
@@ -9,6 +9,8 @@ This extension helps developers to integrate with AfterShip easily.
|
|
9
9
|
AfterShip provides an automated way for online merchants to track packages and send their customers delivery status notifications. Customers no longer need to deal with tracking numbers and track packages on their own. With AfterShip, online merchants extend their customer service after the point of purchase by keeping their customers actively informed, while saving time and money by reducing customers’ questions about the status of their purchase delivery.
|
10
10
|
|
11
11
|
### Changes
|
12
|
+
* 2015-11-11 Pump version to 4.2.0
|
13
|
+
- Removed v3 code, support ENV variable AFTERSHIP_API_ENDPOINT for testing
|
12
14
|
|
13
15
|
* 2014-10-31 Pump version to 4.1.0
|
14
16
|
- Replaced HTTPI with HTTPClient
|
@@ -93,26 +95,6 @@ AfterShip provides an automated way for online merchants to track packages and s
|
|
93
95
|
AfterShip::V4::LastCheckpoint.get('ups', '1ZA6F598D992381375')
|
94
96
|
```
|
95
97
|
|
96
|
-
### V3
|
97
|
-
|
98
|
-
```
|
99
|
-
require('aftership')
|
100
|
-
AfterShip.api_key = 'YOUR_API_KEY'
|
101
|
-
|
102
|
-
AfterShip::V3::Courier.get
|
103
|
-
AfterShip::V3::Courier.detect('1ZA6F598D992381375')
|
104
|
-
|
105
|
-
AfterShip::V3::Tracking.create('1ZA6F598D992381375', {'emails' => ['a@abcd.com', 'asdfasdfs@gmail.com']})
|
106
|
-
AfterShip::V3::Tracking.get('ups', '1ZA6F598D992381375')
|
107
|
-
AfterShip::V3::Tracking.get_multi
|
108
|
-
AfterShip::V3::Tracking.update('ups', '1ZA6F598D992381375', {:title => 'Testing'})
|
109
|
-
AfterShip::V3::Tracking.reactivate('ups', '1ZA6F598D992381375')
|
110
|
-
AfterShip::V3::Tracking.delete('ups', '1ZA6F598D992381375')
|
111
|
-
|
112
|
-
AfterShip::V3::LastCheckpoint.get('ups', '1ZA6F598D992381375')
|
113
|
-
|
114
|
-
```
|
115
|
-
|
116
98
|
## The License (MIT)
|
117
99
|
|
118
100
|
Released under the MIT license. See the LICENSE file for the complete wording.
|
data/lib/aftership.rb
CHANGED
@@ -1,9 +1,5 @@
|
|
1
1
|
$:.unshift File.dirname(__FILE__)
|
2
2
|
|
3
|
-
require 'aftership/v3/courier'
|
4
|
-
require 'aftership/v3/tracking'
|
5
|
-
require 'aftership/v3/last_checkpoint'
|
6
|
-
|
7
3
|
require 'aftership/v4/courier'
|
8
4
|
require 'aftership/v4/tracking'
|
9
5
|
require 'aftership/v4/last_checkpoint'
|
@@ -13,5 +9,5 @@ module AfterShip
|
|
13
9
|
attr_accessor :api_key
|
14
10
|
end
|
15
11
|
|
16
|
-
URL = 'https://api.aftership.com'
|
12
|
+
URL = ENV['AFTERSHIP_API_ENDPOINT'] || 'https://api.aftership.com'
|
17
13
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aftership
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AfterShip Limited
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httpclient
|
@@ -59,10 +59,6 @@ executables: []
|
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
|
-
- lib/aftership/v3/base.rb
|
63
|
-
- lib/aftership/v3/courier.rb
|
64
|
-
- lib/aftership/v3/last_checkpoint.rb
|
65
|
-
- lib/aftership/v3/tracking.rb
|
66
62
|
- lib/aftership/v4/base.rb
|
67
63
|
- lib/aftership/v4/courier.rb
|
68
64
|
- lib/aftership/v4/last_checkpoint.rb
|
data/lib/aftership/v3/base.rb
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'httpclient'
|
2
|
-
require 'json'
|
3
|
-
|
4
|
-
module AfterShip
|
5
|
-
module V3
|
6
|
-
class Base
|
7
|
-
class AfterShipError < StandardError;
|
8
|
-
end
|
9
|
-
attr_reader :http_verb_method, :end_point, :query, :body
|
10
|
-
|
11
|
-
def initialize(http_verb_method, end_point, query = {}, body = {})
|
12
|
-
@http_verb_method = http_verb_method
|
13
|
-
@end_point = end_point
|
14
|
-
@query = query
|
15
|
-
@body = body
|
16
|
-
|
17
|
-
@client = HTTPClient.new
|
18
|
-
end
|
19
|
-
|
20
|
-
def call
|
21
|
-
header = {'aftership-api-key' => AfterShip.api_key, 'Content-Type' => 'application/json'}
|
22
|
-
|
23
|
-
parameters = {
|
24
|
-
:query => query,
|
25
|
-
:body => body.to_json,
|
26
|
-
:header => header
|
27
|
-
}
|
28
|
-
|
29
|
-
response = @client.send(http_verb_method, url, parameters)
|
30
|
-
|
31
|
-
if response.body
|
32
|
-
JSON.parse(response.body)
|
33
|
-
else
|
34
|
-
raise(AfterShipError.new('response is nil'))
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
private
|
40
|
-
|
41
|
-
def url
|
42
|
-
"#{AfterShip::URL}/v3/#{end_point.to_s}"
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
data/lib/aftership/v3/courier.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/base'
|
2
|
-
|
3
|
-
module AfterShip
|
4
|
-
module V3
|
5
|
-
class Courier < AfterShip::V3::Base
|
6
|
-
|
7
|
-
def self.get
|
8
|
-
new(:get, 'couriers').call
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.detect(tracking_number = '')
|
12
|
-
if tracking_number.empty?
|
13
|
-
raise ArgumentError.new('tracking_number is required.')
|
14
|
-
else
|
15
|
-
new(:get, "couriers/detect/#{tracking_number}").call
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/base'
|
2
|
-
|
3
|
-
module AfterShip
|
4
|
-
module V3
|
5
|
-
class LastCheckpoint < AfterShip::V3::Base
|
6
|
-
|
7
|
-
def self.get(slug = '', tracking_number = '')
|
8
|
-
if slug.empty? || tracking_number.empty?
|
9
|
-
raise ArgumentError.new('slug and tracking_number are required.')
|
10
|
-
else
|
11
|
-
new(:get, "last_checkpoint/#{slug}/#{tracking_number}").call
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,61 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/base'
|
2
|
-
|
3
|
-
module AfterShip
|
4
|
-
module V3
|
5
|
-
class Tracking < AfterShip::V3::Base
|
6
|
-
|
7
|
-
#POST /trackings
|
8
|
-
def self.create(tracking_number, params = {})
|
9
|
-
if tracking_number.empty?
|
10
|
-
raise ArgumentError.new('tracking_number is required.')
|
11
|
-
else
|
12
|
-
query_hash = {:tracking_number => tracking_number}
|
13
|
-
query_hash.merge!(params)
|
14
|
-
body = {:tracking => query_hash}
|
15
|
-
new(:post, 'trackings', {}, body).call
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
#DELETE /trackings/:slug/:tracking_number
|
20
|
-
def self.delete(slug, tracking_number)
|
21
|
-
if slug.empty? || tracking_number.empty?
|
22
|
-
raise ArgumentError.new('slug and tracking_number are required.')
|
23
|
-
end
|
24
|
-
new(:delete, "trackings/#{slug}/#{tracking_number}").call
|
25
|
-
end
|
26
|
-
|
27
|
-
#GET /trackings
|
28
|
-
def self.get_multi(params = {})
|
29
|
-
new(:get, 'trackings', params).call
|
30
|
-
end
|
31
|
-
|
32
|
-
#GET /trackings/:slug/:tracking_number
|
33
|
-
def self.get(slug, tracking_number, params = {})
|
34
|
-
if slug.empty? || tracking_number.empty?
|
35
|
-
raise ArgumentError.new('slug and tracking_number are required.')
|
36
|
-
end
|
37
|
-
new(:get, "trackings/#{slug}/#{tracking_number}", params).call
|
38
|
-
end
|
39
|
-
|
40
|
-
#PUT /trackings/:slug/:tracking_number
|
41
|
-
def self.update(slug, tracking_number, params = {})
|
42
|
-
if slug.empty? || tracking_number.empty?
|
43
|
-
raise ArgumentError.new('slug and tracking_number are required.')
|
44
|
-
end
|
45
|
-
body = {:tracking => params}
|
46
|
-
new(:put, "trackings/#{slug}/#{tracking_number}", {}, body).call
|
47
|
-
end
|
48
|
-
|
49
|
-
#POST /trackings/:slug/:tracking_number/reactivate
|
50
|
-
def self.reactivate(slug, tracking_number)
|
51
|
-
puts 'This method will be deprecate in AfterShipV4'
|
52
|
-
|
53
|
-
if slug.empty? || tracking_number.empty?
|
54
|
-
raise ArgumentError.new('slug and tracking_number are required.')
|
55
|
-
end
|
56
|
-
new(:post, "trackings/#{slug}/#{tracking_number}/reactivate").call
|
57
|
-
end
|
58
|
-
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|