easypost 3.0.0 → 3.1.3
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/.travis.yml +9 -0
- data/CHANGELOG +22 -0
- data/README.md +1 -1
- data/VERSION +1 -1
- data/easypost.gemspec +24 -20
- data/lib/easypost/address.rb +5 -5
- data/lib/easypost/batch.rb +7 -7
- data/lib/easypost/carrier_account.rb +1 -1
- data/lib/easypost/customs_info.rb +5 -0
- data/lib/easypost/customs_item.rb +5 -0
- data/lib/easypost/error.rb +16 -23
- data/lib/easypost/item.rb +1 -1
- data/lib/easypost/object.rb +7 -7
- data/lib/easypost/order.rb +6 -2
- data/lib/easypost/pickup.rb +7 -2
- data/lib/easypost/printer.rb +2 -2
- data/lib/easypost/report.rb +2 -2
- data/lib/easypost/resource.rb +7 -7
- data/lib/easypost/scan_form.rb +1 -1
- data/lib/easypost/shipment.rb +5 -5
- data/lib/easypost/tracker.rb +2 -2
- data/lib/easypost/user.rb +3 -5
- data/lib/easypost/util.rb +4 -44
- data/lib/easypost/webhook.rb +6 -3
- data/lib/easypost.rb +108 -118
- metadata +32 -59
- data/circle.yml +0 -3
- data/spec/address_spec.rb +0 -81
- data/spec/batch_spec.rb +0 -48
- data/spec/carrier_account_spec.rb +0 -121
- data/spec/insurance_spec.rb +0 -69
- data/spec/item_spec.rb +0 -105
- data/spec/order_spec.rb +0 -58
- data/spec/pickup_spec.rb +0 -83
- data/spec/report_spec.rb +0 -59
- data/spec/scan_form_spec.rb +0 -46
- data/spec/shipment_spec.rb +0 -144
- data/spec/spec_helper.rb +0 -10
- data/spec/support/constant.rb +0 -106
- data/spec/tracker_spec.rb +0 -94
- data/spec/user_spec.rb +0 -88
- data/spec/webhook_spec.rb +0 -75
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c78ad14a13a665a9397b5d2ade56cdad38a669f0
|
4
|
+
data.tar.gz: e73234c20adee8cfcbc37f2b93fb1c5aa2a6843d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29e64cace8628e794a110868fbf3395fe560f1334ebe04218ccab054edf84f64631895196a09967ad06021b405162ee660eb29e86992847dfcfd45dc5b7b1549
|
7
|
+
data.tar.gz: f5e58cd6bdbe1cf61b3e272986470eb5beb7c9ba8738a4ebe05b727803c741a518ab5d64876ba2ff8bbb5ae2f331c8f6b977b4f53c1839336ebb72c3ef08337a
|
data/.travis.yml
ADDED
data/CHANGELOG
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
=== 3.1.3 2020-06-26
|
2
|
+
|
3
|
+
* Fix bug causing Authorization header to be included in User-Agent header. All users must upgrade.
|
4
|
+
|
5
|
+
=== 3.1.2 2020-06-24
|
6
|
+
|
7
|
+
* Bad gem push. New version required.
|
8
|
+
|
9
|
+
=== 3.1.1 2020-06-23
|
10
|
+
|
11
|
+
* Fix bug where EasyPost.http_config was invalid when not explicitly initialized.
|
12
|
+
|
13
|
+
=== 3.1.0 2020-06-23
|
14
|
+
|
15
|
+
* Add Shipment Invoice and Refund Report
|
16
|
+
* Remove dependencies on `RestClient` and `MultiJson`
|
17
|
+
* Remove some deprecated endpoints
|
18
|
+
|
19
|
+
=== 3.0.1 2018-05-17
|
20
|
+
|
21
|
+
* Enforce TLS certificate validity by default
|
22
|
+
|
1
23
|
=== 3.0.0 2018-02-09
|
2
24
|
|
3
25
|
* Require use of ruby ~> 2.0 and TLSv1.2
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# EasyPost Ruby Client Library
|
2
2
|
|
3
|
-
[
|
3
|
+
[](https://travis-ci.com/EasyPost/easypost-ruby)
|
4
4
|
|
5
5
|
|
6
6
|
EasyPost is a simple shipping API. You can sign up for an account at https://easypost.com
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.1.3
|
data/easypost.gemspec
CHANGED
@@ -1,27 +1,31 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
|
2
|
+
|
3
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
5
|
+
require "easypost/version"
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name
|
8
|
-
spec.version
|
9
|
-
spec.
|
10
|
-
spec.
|
11
|
-
spec.
|
12
|
-
spec.
|
13
|
-
spec.
|
14
|
-
spec.
|
8
|
+
spec.name = "easypost"
|
9
|
+
spec.version = EasyPost::VERSION
|
10
|
+
spec.licenses = ["MIT"]
|
11
|
+
spec.date = Time.now.strftime("%Y-%m-%d")
|
12
|
+
spec.summary = "EasyPost Ruby Client Library"
|
13
|
+
spec.description = "Client library for accessing the EasyPost shipping API via Ruby."
|
14
|
+
spec.authors = ["Jake Epstein", "Andrew Tribone", "James Brown"]
|
15
|
+
spec.email = "support@easypost.com"
|
16
|
+
spec.homepage = "https://www.easypost.com/docs"
|
15
17
|
|
16
|
-
spec.files
|
17
|
-
|
18
|
-
|
19
|
-
spec.
|
20
|
-
spec.
|
18
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
19
|
+
f.match(%r{^(test|spec|features)/})
|
20
|
+
end
|
21
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
22
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
|
+
spec.require_paths = ["lib"]
|
24
|
+
spec.required_ruby_version = "~> 2.2"
|
21
25
|
|
22
|
-
spec.
|
23
|
-
spec.
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency
|
26
|
+
spec.add_development_dependency "pry", "~> 0.13"
|
27
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
28
|
+
spec.add_development_dependency "rspec", "~> 3.9"
|
29
|
+
spec.add_development_dependency "webmock", "~> 3.8"
|
30
|
+
spec.add_development_dependency "vcr", "~> 5.1"
|
27
31
|
end
|
data/lib/easypost/address.rb
CHANGED
@@ -18,7 +18,7 @@ module EasyPost
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
response
|
21
|
+
response = EasyPost.make_request(:post, url, api_key, {address: params})
|
22
22
|
return Util.convert_to_easypost_object(response, api_key)
|
23
23
|
end
|
24
24
|
|
@@ -26,7 +26,7 @@ module EasyPost
|
|
26
26
|
wrapped_params = {}
|
27
27
|
wrapped_params[self.class_name().to_sym] = params
|
28
28
|
wrapped_params[:carrier] = carrier
|
29
|
-
response
|
29
|
+
response = EasyPost.make_request(:post, url + '/create_and_verify', api_key, wrapped_params)
|
30
30
|
|
31
31
|
if response.has_key?(:address)
|
32
32
|
if response.has_key?(:message)
|
@@ -41,13 +41,13 @@ module EasyPost
|
|
41
41
|
|
42
42
|
def verify(params={}, carrier=nil)
|
43
43
|
begin
|
44
|
-
response
|
44
|
+
response = EasyPost.make_request(:get, url + '/verify?carrier=' + String(carrier), @api_key, params)
|
45
45
|
rescue
|
46
46
|
raise Error.new("Unable to verify address.")
|
47
47
|
end
|
48
48
|
|
49
|
-
if response.has_key?(
|
50
|
-
return EasyPost::Util::convert_to_easypost_object(response[
|
49
|
+
if response.has_key?("address")
|
50
|
+
return EasyPost::Util::convert_to_easypost_object(response["address"], api_key)
|
51
51
|
else
|
52
52
|
raise Error.new("Unable to verify address.")
|
53
53
|
end
|
data/lib/easypost/batch.rb
CHANGED
@@ -4,47 +4,47 @@ module EasyPost
|
|
4
4
|
def self.create_and_buy(params={}, api_key=nil)
|
5
5
|
wrapped_params = {}
|
6
6
|
wrapped_params[self.class_name().to_sym] = params
|
7
|
-
response
|
7
|
+
response = EasyPost.make_request(:post, url + '/create_and_buy', api_key, wrapped_params)
|
8
8
|
|
9
9
|
return Util.convert_to_easypost_object(response, api_key)
|
10
10
|
end
|
11
11
|
|
12
12
|
def buy(params={})
|
13
|
-
response
|
13
|
+
response = EasyPost.make_request(:post, url + '/buy', @api_key, params)
|
14
14
|
self.refresh_from(response, @api_key, true)
|
15
15
|
|
16
16
|
return self
|
17
17
|
end
|
18
18
|
|
19
19
|
def label(params={})
|
20
|
-
response
|
20
|
+
response = EasyPost.make_request(:post, url + '/label', @api_key, params)
|
21
21
|
self.refresh_from(response, @api_key, true)
|
22
22
|
|
23
23
|
return self
|
24
24
|
end
|
25
25
|
|
26
26
|
def remove_shipments(params={})
|
27
|
-
response
|
27
|
+
response = EasyPost.make_request(:post, url + '/remove_shipments', @api_key, params)
|
28
28
|
self.refresh_from(response, @api_key, true)
|
29
29
|
|
30
30
|
return self
|
31
31
|
end
|
32
32
|
|
33
33
|
def add_shipments(params={})
|
34
|
-
response
|
34
|
+
response = EasyPost.make_request(:post, url + '/add_shipments', @api_key, params)
|
35
35
|
self.refresh_from(response, @api_key, true)
|
36
36
|
|
37
37
|
return self
|
38
38
|
end
|
39
39
|
|
40
40
|
def stamp_and_barcode_by_reference(params={})
|
41
|
-
response
|
41
|
+
response = EasyPost.make_request(:get, url + '/stamp_and_barcode_by_reference', @api_key, params)
|
42
42
|
|
43
43
|
return response
|
44
44
|
end
|
45
45
|
|
46
46
|
def create_scan_form(params={})
|
47
|
-
response
|
47
|
+
response = EasyPost.make_request(:post, url + '/scan_form', @api_key, params)
|
48
48
|
|
49
49
|
return response
|
50
50
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module EasyPost
|
2
2
|
class CarrierAccount < Resource
|
3
3
|
def self.types
|
4
|
-
response
|
4
|
+
response = EasyPost.make_request(:get, "/carrier_types", @api_key)
|
5
5
|
return Util.convert_to_easypost_object(response, api_key)
|
6
6
|
end
|
7
7
|
end
|
data/lib/easypost/error.rb
CHANGED
@@ -1,38 +1,31 @@
|
|
1
1
|
module EasyPost
|
2
2
|
class Error < StandardError
|
3
3
|
attr_reader :message
|
4
|
-
attr_reader :
|
5
|
-
attr_reader :
|
6
|
-
attr_reader :json_body
|
7
|
-
attr_reader :param
|
4
|
+
attr_reader :status
|
5
|
+
attr_reader :http_status # deprecated
|
8
6
|
attr_reader :code
|
9
7
|
attr_reader :errors
|
10
8
|
|
11
|
-
def initialize(message=nil,
|
9
|
+
def initialize(message = nil, status = nil, code = nil, errors = nil)
|
12
10
|
@message = message
|
13
|
-
@
|
14
|
-
@
|
15
|
-
@
|
16
|
-
|
17
|
-
@param = @json_body.fetch(:error, {}).fetch(:param, nil)
|
18
|
-
@code = @json_body.fetch(:error, {}).fetch(:code, nil)
|
19
|
-
@errors = @json_body.fetch(:error, {}).fetch(:errors, nil)
|
11
|
+
@status = status
|
12
|
+
@http_status = status # deprecated
|
13
|
+
@code = code
|
14
|
+
@errors = errors
|
20
15
|
|
21
16
|
super(message)
|
22
17
|
end
|
23
18
|
|
24
19
|
def to_s
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
end
|
35
|
-
s
|
20
|
+
"#{code} (#{status}): #{message} #{errors}".strip
|
21
|
+
end
|
22
|
+
|
23
|
+
def ==(other)
|
24
|
+
other.is_a?(Error) &&
|
25
|
+
message == other.message &&
|
26
|
+
status == other.status &&
|
27
|
+
code == other.code &&
|
28
|
+
errors == other.errors
|
36
29
|
end
|
37
30
|
end
|
38
31
|
end
|
data/lib/easypost/item.rb
CHANGED
@@ -2,7 +2,7 @@ module EasyPost
|
|
2
2
|
class Item < Resource
|
3
3
|
|
4
4
|
def self.retrieve_reference(params={}, api_key=nil)
|
5
|
-
response
|
5
|
+
response = EasyPost.make_request(:get, url + '/retrieve_reference', api_key, params)
|
6
6
|
return EasyPost::Util::convert_to_easypost_object(response, api_key) if response
|
7
7
|
end
|
8
8
|
|
data/lib/easypost/object.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require "set"
|
2
|
+
|
1
3
|
module EasyPost
|
2
4
|
class EasyPostObject
|
3
5
|
include Enumerable
|
@@ -22,12 +24,12 @@ module EasyPost
|
|
22
24
|
end
|
23
25
|
|
24
26
|
def to_s(*args)
|
25
|
-
|
27
|
+
JSON.dump(@values)
|
26
28
|
end
|
27
29
|
|
28
|
-
def inspect
|
30
|
+
def inspect
|
29
31
|
id_string = (self.respond_to?(:id) && !self.id.nil?) ? " id=#{self.id}" : ""
|
30
|
-
"#<#{self.class}:#{id_string}> JSON: " +
|
32
|
+
"#<#{self.class}:#{id_string}> JSON: " + to_json
|
31
33
|
end
|
32
34
|
|
33
35
|
def refresh_from(values, api_key, partial=false)
|
@@ -47,8 +49,7 @@ module EasyPost
|
|
47
49
|
end
|
48
50
|
|
49
51
|
def [](k)
|
50
|
-
k
|
51
|
-
@values[k]
|
52
|
+
@values[k.to_s]
|
52
53
|
end
|
53
54
|
|
54
55
|
def []=(k, v)
|
@@ -64,7 +65,7 @@ module EasyPost
|
|
64
65
|
end
|
65
66
|
|
66
67
|
def to_json(options = {})
|
67
|
-
|
68
|
+
JSON.dump(@values)
|
68
69
|
end
|
69
70
|
|
70
71
|
def as_json(options = {})
|
@@ -144,6 +145,5 @@ module EasyPost
|
|
144
145
|
end
|
145
146
|
end
|
146
147
|
end
|
147
|
-
|
148
148
|
end
|
149
149
|
end
|
data/lib/easypost/order.rb
CHANGED
@@ -2,7 +2,7 @@ module EasyPost
|
|
2
2
|
class Order < Resource
|
3
3
|
|
4
4
|
def get_rates(params={})
|
5
|
-
response
|
5
|
+
response = EasyPost.make_request(:get, url + '/rates', @api_key, params)
|
6
6
|
self.refresh_from(response, @api_key, true)
|
7
7
|
|
8
8
|
return self
|
@@ -16,11 +16,15 @@ module EasyPost
|
|
16
16
|
params[:service] = temp.service
|
17
17
|
end
|
18
18
|
|
19
|
-
response
|
19
|
+
response = EasyPost.make_request(:post, url + '/buy', @api_key, params)
|
20
20
|
self.refresh_from(response, @api_key, true)
|
21
21
|
|
22
22
|
return self
|
23
23
|
end
|
24
24
|
|
25
|
+
def self.all(filters={}, api_key=nil)
|
26
|
+
raise NotImplementedError.new('Order.all not implemented.')
|
27
|
+
end
|
28
|
+
|
25
29
|
end
|
26
30
|
end
|
data/lib/easypost/pickup.rb
CHANGED
@@ -9,17 +9,22 @@ module EasyPost
|
|
9
9
|
params[:service] = temp.service
|
10
10
|
end
|
11
11
|
|
12
|
-
response
|
12
|
+
response = EasyPost.make_request(:post, url + '/buy', @api_key, params)
|
13
13
|
self.refresh_from(response, @api_key, true)
|
14
14
|
|
15
15
|
return self
|
16
16
|
end
|
17
17
|
|
18
18
|
def cancel(params={})
|
19
|
-
response
|
19
|
+
response = EasyPost.make_request(:post, url + '/cancel', @api_key, params)
|
20
20
|
self.refresh_from(response, @api_key, true)
|
21
21
|
|
22
22
|
return self
|
23
23
|
end
|
24
|
+
|
25
|
+
def self.all(filters={}, api_key=nil)
|
26
|
+
raise NotImplementedError.new('Pickup.all not implemented.')
|
27
|
+
end
|
28
|
+
|
24
29
|
end
|
25
30
|
end
|
data/lib/easypost/printer.rb
CHANGED
@@ -2,7 +2,7 @@ module EasyPost
|
|
2
2
|
class Printer < Resource
|
3
3
|
|
4
4
|
def job
|
5
|
-
response
|
5
|
+
response = EasyPost.make_request(
|
6
6
|
:get, url + '/jobs', @api_key
|
7
7
|
)
|
8
8
|
return EasyPost::Util::convert_to_easypost_object(response, api_key)
|
@@ -15,7 +15,7 @@ module EasyPost
|
|
15
15
|
params[:postage_label] = temp
|
16
16
|
end
|
17
17
|
|
18
|
-
response
|
18
|
+
response = EasyPost.make_request(
|
19
19
|
:post, url + '/print_postage_label', @api_key, params
|
20
20
|
)
|
21
21
|
return true
|
data/lib/easypost/report.rb
CHANGED
@@ -5,7 +5,7 @@ module EasyPost
|
|
5
5
|
wrapped_params = {}
|
6
6
|
wrapped_params[class_name.to_sym] = params
|
7
7
|
|
8
|
-
response
|
8
|
+
response = EasyPost.make_request(:post, url, api_key, params)
|
9
9
|
return Util.convert_to_easypost_object(response, api_key)
|
10
10
|
end
|
11
11
|
|
@@ -24,7 +24,7 @@ module EasyPost
|
|
24
24
|
def self.all(filters={}, api_key=nil)
|
25
25
|
url = "#{self.url}/#{filters[:type]}"
|
26
26
|
|
27
|
-
response
|
27
|
+
response = EasyPost.make_request(:get, url, api_key, filters)
|
28
28
|
return EasyPost::Util::convert_to_easypost_object(response, api_key) if response
|
29
29
|
end
|
30
30
|
end
|
data/lib/easypost/resource.rb
CHANGED
@@ -11,9 +11,9 @@ module EasyPost
|
|
11
11
|
raise NotImplementedError.new('Resource is an abstract class. You should perform actions on its subclasses (Address, Shipment, etc.)')
|
12
12
|
end
|
13
13
|
if(self.class_name[-1..-1] == 's' || self.class_name[-1..-1] == 'h')
|
14
|
-
return "/#{CGI.escape(self.class_name.downcase)}es"
|
14
|
+
return "/v2/#{CGI.escape(self.class_name.downcase)}es"
|
15
15
|
else
|
16
|
-
return "/#{CGI.escape(class_name.downcase)}s"
|
16
|
+
return "/v2/#{CGI.escape(class_name.downcase)}s"
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -25,13 +25,13 @@ module EasyPost
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def refresh
|
28
|
-
response
|
28
|
+
response = EasyPost.make_request(:get, url, @api_key, @retrieve_options)
|
29
29
|
refresh_from(response, api_key)
|
30
30
|
return self
|
31
31
|
end
|
32
32
|
|
33
33
|
def self.all(filters={}, api_key=nil)
|
34
|
-
response
|
34
|
+
response = EasyPost.make_request(:get, url, api_key, filters)
|
35
35
|
return Util.convert_to_easypost_object(response, api_key)
|
36
36
|
end
|
37
37
|
|
@@ -44,12 +44,12 @@ module EasyPost
|
|
44
44
|
def self.create(params={}, api_key=nil)
|
45
45
|
wrapped_params = {}
|
46
46
|
wrapped_params[self.class_name().to_sym] = params
|
47
|
-
response
|
47
|
+
response = EasyPost.make_request(:post, self.url, api_key, wrapped_params)
|
48
48
|
return Util.convert_to_easypost_object(response, api_key)
|
49
49
|
end
|
50
50
|
|
51
51
|
def delete
|
52
|
-
response
|
52
|
+
response = EasyPost.make_request(:delete, url, @api_key)
|
53
53
|
refresh_from(response, api_key)
|
54
54
|
return self
|
55
55
|
end
|
@@ -68,7 +68,7 @@ module EasyPost
|
|
68
68
|
|
69
69
|
wrapped_params = {self.class.class_name => values}
|
70
70
|
|
71
|
-
response
|
71
|
+
response = EasyPost.make_request(:put, url, @api_key, wrapped_params)
|
72
72
|
refresh_from(response, api_key)
|
73
73
|
end
|
74
74
|
return self
|
data/lib/easypost/scan_form.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module EasyPost
|
2
2
|
class ScanForm < Resource
|
3
3
|
def self.create(params={}, api_key=nil)
|
4
|
-
response
|
4
|
+
response = EasyPost.make_request(:post, self.url, api_key, params)
|
5
5
|
return Util.convert_to_easypost_object(response, api_key)
|
6
6
|
end
|
7
7
|
end
|
data/lib/easypost/shipment.rb
CHANGED
@@ -2,7 +2,7 @@ module EasyPost
|
|
2
2
|
class Shipment < Resource
|
3
3
|
|
4
4
|
def get_rates(params={})
|
5
|
-
response
|
5
|
+
response = EasyPost.make_request(:get, url + '/rates', @api_key, params)
|
6
6
|
self.refresh_from(response, @api_key, true)
|
7
7
|
|
8
8
|
return self
|
@@ -15,7 +15,7 @@ module EasyPost
|
|
15
15
|
params[:rate] = temp
|
16
16
|
end
|
17
17
|
|
18
|
-
response
|
18
|
+
response = EasyPost.make_request(:post, url + '/buy', @api_key, params)
|
19
19
|
self.refresh_from(response, @api_key, true)
|
20
20
|
|
21
21
|
return self
|
@@ -28,14 +28,14 @@ module EasyPost
|
|
28
28
|
params[:amount] = temp
|
29
29
|
end
|
30
30
|
|
31
|
-
response
|
31
|
+
response = EasyPost.make_request(:post, url + '/insure', @api_key, params)
|
32
32
|
self.refresh_from(response, @api_key, true)
|
33
33
|
|
34
34
|
return self
|
35
35
|
end
|
36
36
|
|
37
37
|
def refund(params={})
|
38
|
-
response
|
38
|
+
response = EasyPost.make_request(:get, url + '/refund', @api_key, params)
|
39
39
|
self.refresh_from(response, @api_key, true)
|
40
40
|
|
41
41
|
return self
|
@@ -55,7 +55,7 @@ module EasyPost
|
|
55
55
|
params[:file_format] = temp
|
56
56
|
end
|
57
57
|
|
58
|
-
response
|
58
|
+
response = EasyPost.make_request(:get, url + '/label', @api_key, params)
|
59
59
|
self.refresh_from(response, @api_key, true)
|
60
60
|
|
61
61
|
return self
|
data/lib/easypost/tracker.rb
CHANGED
@@ -2,13 +2,13 @@ module EasyPost
|
|
2
2
|
class Tracker < Resource
|
3
3
|
def self.create_list(params={}, api_key=nil)
|
4
4
|
url = self.url + '/create_list'
|
5
|
-
response
|
5
|
+
response = EasyPost.make_request(:post, url, api_key, params)
|
6
6
|
return true
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.all_updated(params={}, api_key=nil)
|
10
10
|
url = self.url + '/all_updated'
|
11
|
-
response
|
11
|
+
response = EasyPost.make_request(:get, url, api_key, params)
|
12
12
|
return Util.convert_to_easypost_object(response, api_key)
|
13
13
|
end
|
14
14
|
end
|
data/lib/easypost/user.rb
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
module EasyPost
|
2
2
|
class User < Resource
|
3
3
|
def self.create(params={}, api_key=nil)
|
4
|
-
|
5
|
-
wrapped_params[self.class_name().to_sym] = params
|
6
|
-
response, api_key = EasyPost.request(:post, self.url, api_key, wrapped_params, {}, false)
|
4
|
+
response = EasyPost.make_request(:post, self.url, api_key, {self.class_name.to_sym => params})
|
7
5
|
return Util.convert_to_easypost_object(response, api_key)
|
8
6
|
end
|
9
7
|
|
@@ -14,7 +12,7 @@ module EasyPost
|
|
14
12
|
|
15
13
|
wrapped_params = {user: values}
|
16
14
|
|
17
|
-
response
|
15
|
+
response = EasyPost.make_request(:put, url, @api_key, wrapped_params)
|
18
16
|
refresh_from(response, api_key)
|
19
17
|
end
|
20
18
|
return self
|
@@ -25,7 +23,7 @@ module EasyPost
|
|
25
23
|
end
|
26
24
|
|
27
25
|
def self.all_api_keys
|
28
|
-
response
|
26
|
+
response = EasyPost.make_request(:get, "/api_keys", @api_key)
|
29
27
|
return Util.convert_to_easypost_object(response, api_key)
|
30
28
|
end
|
31
29
|
|
data/lib/easypost/util.rb
CHANGED
@@ -42,6 +42,8 @@ module EasyPost
|
|
42
42
|
'ShipmentReport' => Report,
|
43
43
|
'PaymentLogReport' => Report,
|
44
44
|
'TrackerReport' => Report,
|
45
|
+
'RefundReport' => Report,
|
46
|
+
'ShipmentInvoiceReport' => Report,
|
45
47
|
'Webhook' => Webhook
|
46
48
|
}
|
47
49
|
|
@@ -70,6 +72,8 @@ module EasyPost
|
|
70
72
|
'shprep' => Report,
|
71
73
|
'plrep' => Report,
|
72
74
|
'trkrep' => Report,
|
75
|
+
'refrep' => Report,
|
76
|
+
'shpinvrep' => Report,
|
73
77
|
'hook' => Webhook
|
74
78
|
}
|
75
79
|
|
@@ -99,49 +103,5 @@ module EasyPost
|
|
99
103
|
return response
|
100
104
|
end
|
101
105
|
end
|
102
|
-
|
103
|
-
def self.symbolize_names(obj)
|
104
|
-
case obj
|
105
|
-
when Hash
|
106
|
-
result = {}
|
107
|
-
obj.each do |k, v|
|
108
|
-
k = (k.to_sym rescue k) || k
|
109
|
-
obj[k] = symbolize_names(v)
|
110
|
-
end
|
111
|
-
return result
|
112
|
-
when Array
|
113
|
-
return obj.map { |v| symbolize_names(v) }
|
114
|
-
else
|
115
|
-
return obj
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
def self.url_encode(key)
|
120
|
-
URI.escape(key.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
|
121
|
-
end
|
122
|
-
|
123
|
-
def self.flatten_params(params, parent_key=nil)
|
124
|
-
result = []
|
125
|
-
if params.is_a?(Hash)
|
126
|
-
params.each do |k, v|
|
127
|
-
calculated_key = parent_key ? "#{parent_key}[#{url_encode(k)}]" : url_encode(k)
|
128
|
-
if v.is_a?(Hash) or v.is_a?(Array)
|
129
|
-
result += flatten_params(v, calculated_key)
|
130
|
-
else
|
131
|
-
result << [calculated_key, v]
|
132
|
-
end
|
133
|
-
end
|
134
|
-
elsif params.is_a?(Array)
|
135
|
-
params.each_with_index do |v, i|
|
136
|
-
calculated_key = parent_key ? "#{parent_key}[#{i}]" : i
|
137
|
-
if v.is_a?(Hash) or v.is_a?(Array)
|
138
|
-
result += flatten_params(v, calculated_key)
|
139
|
-
else
|
140
|
-
result << [calculated_key, v]
|
141
|
-
end
|
142
|
-
end
|
143
|
-
end
|
144
|
-
return result
|
145
|
-
end
|
146
106
|
end
|
147
107
|
end
|