easypost 3.1.3 → 3.1.4
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 +5 -5
- data/CHANGELOG +7 -0
- data/VERSION +1 -1
- data/lib/easypost.rb +1 -1
- data/lib/easypost/address.rb +5 -3
- data/lib/easypost/error.rb +3 -2
- data/lib/easypost/object.rb +1 -1
- data/lib/easypost/shipment.rb +2 -6
- data/lib/easypost/util.rb +5 -0
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3f2b1945f7283b88880be5fa9700332289d7007137056113d6223a61e59be79a
|
4
|
+
data.tar.gz: a168444a606c919ca7a5f1a940040b2822d25ee88d555ca7a11fb289a3e06962
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e53924a901d7dc9f25272991d589d7c08b1f28ccba941792925d9fd6ad8b65a57568caf5a15062e227086a2c9d997d85d72d655b21c1be08addc47093a956bff
|
7
|
+
data.tar.gz: 6bf95b960ec71c8b79effae947a38fd11a902fba63d98db28b6f7d448a05b4914f7f8a56ffc33452d8660e5898b60a0f953de10f7be0764b9b2b40058034ec4c
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
=== 3.1.4 2020-09-29
|
2
|
+
|
3
|
+
* Don't modify params passed into Address#create (#78; thanks @TheRusskiy)
|
4
|
+
* Don't modify `carriers` and `services` parameters to `Shipment.lowest_rate` (#71 / #103, thanks @vladvinnikov and @jurisgalang)
|
5
|
+
* When constructing an easypost object, convert the key to a string (#102; thanks @Geesu)
|
6
|
+
* Expose the raw HTTP response as `#http_body` on `EasyPost::Error` objects (#101; thanks @Geesu)
|
7
|
+
|
1
8
|
=== 3.1.3 2020-06-26
|
2
9
|
|
3
10
|
* Fix bug causing Authorization header to be included in User-Agent header. All users must upgrade.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.1.
|
1
|
+
3.1.4
|
data/lib/easypost.rb
CHANGED
@@ -131,7 +131,7 @@ module EasyPost
|
|
131
131
|
|
132
132
|
if (400..599).include? response.code.to_i
|
133
133
|
error = JSON.parse(response.body)["error"]
|
134
|
-
raise Error.new(error["message"], response.code.to_i, error["code"], error["errors"])
|
134
|
+
raise Error.new(error["message"], response.code.to_i, error["code"], error["errors"], response.body)
|
135
135
|
end
|
136
136
|
|
137
137
|
if response["Content-Type"].include? "application/json"
|
data/lib/easypost/address.rb
CHANGED
@@ -5,9 +5,11 @@ module EasyPost
|
|
5
5
|
def self.create(params={}, api_key=nil)
|
6
6
|
url = self.url
|
7
7
|
|
8
|
+
address = params.reject { |k,_| k == :verify || k == :verify_strict }
|
9
|
+
|
8
10
|
if params[:verify] || params[:verify_strict]
|
9
|
-
verify = params
|
10
|
-
verify_strict = params
|
11
|
+
verify = params[:verify] || []
|
12
|
+
verify_strict = params[:verify_strict] || []
|
11
13
|
|
12
14
|
url += "?"
|
13
15
|
verify.each do |verification|
|
@@ -18,7 +20,7 @@ module EasyPost
|
|
18
20
|
end
|
19
21
|
end
|
20
22
|
|
21
|
-
response = EasyPost.make_request(:post, url, api_key, {address:
|
23
|
+
response = EasyPost.make_request(:post, url, api_key, {address: address})
|
22
24
|
return Util.convert_to_easypost_object(response, api_key)
|
23
25
|
end
|
24
26
|
|
data/lib/easypost/error.rb
CHANGED
@@ -3,15 +3,17 @@ module EasyPost
|
|
3
3
|
attr_reader :message
|
4
4
|
attr_reader :status
|
5
5
|
attr_reader :http_status # deprecated
|
6
|
+
attr_reader :http_body
|
6
7
|
attr_reader :code
|
7
8
|
attr_reader :errors
|
8
9
|
|
9
|
-
def initialize(message = nil, status = nil, code = nil, errors = nil)
|
10
|
+
def initialize(message = nil, status = nil, code = nil, errors = nil, http_body = nil)
|
10
11
|
@message = message
|
11
12
|
@status = status
|
12
13
|
@http_status = status # deprecated
|
13
14
|
@code = code
|
14
15
|
@errors = errors
|
16
|
+
@http_body = http_body
|
15
17
|
|
16
18
|
super(message)
|
17
19
|
end
|
@@ -29,4 +31,3 @@ module EasyPost
|
|
29
31
|
end
|
30
32
|
end
|
31
33
|
end
|
32
|
-
|
data/lib/easypost/object.rb
CHANGED
@@ -42,7 +42,7 @@ module EasyPost
|
|
42
42
|
end
|
43
43
|
|
44
44
|
values.each do |k, v|
|
45
|
-
@values[k] = Util.convert_to_easypost_object(v, api_key, self, k)
|
45
|
+
@values[k.to_s] = Util.convert_to_easypost_object(v, api_key, self, k)
|
46
46
|
@transient_values.delete(k)
|
47
47
|
@unsaved_values.delete(k)
|
48
48
|
end
|
data/lib/easypost/shipment.rb
CHANGED
@@ -66,9 +66,7 @@ module EasyPost
|
|
66
66
|
|
67
67
|
self.get_rates unless self.rates
|
68
68
|
|
69
|
-
carriers =
|
70
|
-
carriers.map!(&:downcase)
|
71
|
-
carriers.map!(&:strip)
|
69
|
+
carriers = EasyPost::Util.normalize_string_list(carriers)
|
72
70
|
|
73
71
|
negative_carriers = []
|
74
72
|
carriers_copy = carriers.clone
|
@@ -79,9 +77,7 @@ module EasyPost
|
|
79
77
|
end
|
80
78
|
end
|
81
79
|
|
82
|
-
services =
|
83
|
-
services.map!(&:downcase)
|
84
|
-
services.map!(&:strip)
|
80
|
+
services = EasyPost::Util.normalize_string_list(services)
|
85
81
|
|
86
82
|
negative_services = []
|
87
83
|
services_copy = services.clone
|
data/lib/easypost/util.rb
CHANGED
@@ -15,6 +15,11 @@ module EasyPost
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
+
def self.normalize_string_list(lst)
|
19
|
+
lst = lst.is_a?(String) ? lst.split(',') : Array(lst)
|
20
|
+
lst.map(&:to_s).map(&:downcase).map(&:strip)
|
21
|
+
end
|
22
|
+
|
18
23
|
def self.convert_to_easypost_object(response, api_key, parent=nil, name=nil)
|
19
24
|
types = {
|
20
25
|
'Address' => Address,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easypost
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jake Epstein
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-
|
13
|
+
date: 2020-09-30 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: pry
|
@@ -147,8 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
147
|
- !ruby/object:Gem::Version
|
148
148
|
version: '0'
|
149
149
|
requirements: []
|
150
|
-
|
151
|
-
rubygems_version: 2.2.2
|
150
|
+
rubygems_version: 3.0.6
|
152
151
|
signing_key:
|
153
152
|
specification_version: 4
|
154
153
|
summary: EasyPost Ruby Client Library
|