friendly_shipping 0.6.4 → 0.7.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 +4 -4
- data/.circleci/config.yml +18 -5
- data/.env.template +1 -1
- data/.rubocop.yml +4 -1
- data/CHANGELOG.md +14 -3
- data/README.md +1 -1
- data/friendly_shipping.gemspec +6 -7
- data/lib/friendly_shipping/api_error.rb +14 -0
- data/lib/friendly_shipping/api_error_handler.rb +30 -0
- data/lib/friendly_shipping/http_client.rb +9 -27
- data/lib/friendly_shipping/request.rb +5 -3
- data/lib/friendly_shipping/response.rb +27 -1
- data/lib/friendly_shipping/services/ship_engine/parse_label_response.rb +8 -2
- data/lib/friendly_shipping/services/ship_engine/parse_rate_estimate_response.rb +28 -6
- data/lib/friendly_shipping/services/ship_engine.rb +9 -5
- data/lib/friendly_shipping/services/ups/parse_shipment_accept_response.rb +1 -1
- data/lib/friendly_shipping/services/ups/parse_shipment_confirm_response.rb +1 -1
- data/lib/friendly_shipping/services/ups/parse_void_shipment_response.rb +1 -1
- data/lib/friendly_shipping/services/ups/rate_estimate_options.rb +1 -1
- data/lib/friendly_shipping/services/ups/rate_estimate_package_options.rb +1 -1
- data/lib/friendly_shipping/services/ups/shipping_methods.rb +4 -0
- data/lib/friendly_shipping/services/ups.rb +10 -2
- data/lib/friendly_shipping/services/ups_freight/api_error.rb +36 -0
- data/lib/friendly_shipping/services/ups_freight/generate_delivery_options_hash.rb +6 -4
- data/lib/friendly_shipping/services/ups_freight/generate_freight_ship_request_hash.rb +5 -2
- data/lib/friendly_shipping/services/ups_freight/generate_location_hash.rb +6 -9
- data/lib/friendly_shipping/services/ups_freight/generate_pickup_options_hash.rb +4 -3
- data/lib/friendly_shipping/services/ups_freight/generate_reference_hash.rb +27 -0
- data/lib/friendly_shipping/services/ups_freight/label_delivery_options.rb +7 -1
- data/lib/friendly_shipping/services/ups_freight/label_options.rb +28 -2
- data/lib/friendly_shipping/services/ups_freight/label_pickup_options.rb +3 -0
- data/lib/friendly_shipping/services/ups_freight/parse_freight_label_response.rb +27 -8
- data/lib/friendly_shipping/services/ups_freight/parse_shipment_document.rb +1 -1
- data/lib/friendly_shipping/services/ups_freight/shipment_information.rb +5 -2
- data/lib/friendly_shipping/services/ups_freight.rb +8 -5
- data/lib/friendly_shipping/services/usps/parse_package_rate.rb +16 -1
- data/lib/friendly_shipping/services/usps/rate_estimate_options.rb +1 -1
- data/lib/friendly_shipping/services/usps/rate_estimate_package_options.rb +23 -19
- data/lib/friendly_shipping/services/usps/serialize_rate_request.rb +2 -0
- data/lib/friendly_shipping/services/usps.rb +2 -1
- data/lib/friendly_shipping/version.rb +1 -1
- data/lib/friendly_shipping.rb +1 -0
- metadata +18 -35
- data/lib/friendly_shipping/services/ups_freight/restful_api_error_handler.rb +0 -30
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: friendly_shipping
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Meyerhoff
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: data_uri
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.0.3
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 0.0.3
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: dry-monads
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -75,7 +61,7 @@ dependencies:
|
|
75
61
|
version: '0.4'
|
76
62
|
- - ">="
|
77
63
|
- !ruby/object:Gem::Version
|
78
|
-
version: 0.4.
|
64
|
+
version: 0.4.5
|
79
65
|
type: :runtime
|
80
66
|
prerelease: false
|
81
67
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -85,7 +71,7 @@ dependencies:
|
|
85
71
|
version: '0.4'
|
86
72
|
- - ">="
|
87
73
|
- !ruby/object:Gem::Version
|
88
|
-
version: 0.4.
|
74
|
+
version: 0.4.5
|
89
75
|
- !ruby/object:Gem::Dependency
|
90
76
|
name: rest-client
|
91
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -106,7 +92,7 @@ dependencies:
|
|
106
92
|
requirements:
|
107
93
|
- - ">="
|
108
94
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
95
|
+
version: 2.1.4
|
110
96
|
- - "<"
|
111
97
|
- !ruby/object:Gem::Version
|
112
98
|
version: '3'
|
@@ -116,7 +102,7 @@ dependencies:
|
|
116
102
|
requirements:
|
117
103
|
- - ">="
|
118
104
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
105
|
+
version: 2.1.4
|
120
106
|
- - "<"
|
121
107
|
- !ruby/object:Gem::Version
|
122
108
|
version: '3'
|
@@ -140,14 +126,14 @@ dependencies:
|
|
140
126
|
requirements:
|
141
127
|
- - "~>"
|
142
128
|
- !ruby/object:Gem::Version
|
143
|
-
version: '
|
129
|
+
version: '6.2'
|
144
130
|
type: :development
|
145
131
|
prerelease: false
|
146
132
|
version_requirements: !ruby/object:Gem::Requirement
|
147
133
|
requirements:
|
148
134
|
- - "~>"
|
149
135
|
- !ruby/object:Gem::Version
|
150
|
-
version: '
|
136
|
+
version: '6.2'
|
151
137
|
- !ruby/object:Gem::Dependency
|
152
138
|
name: pry
|
153
139
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,20 +196,14 @@ dependencies:
|
|
210
196
|
requirements:
|
211
197
|
- - ">="
|
212
198
|
- !ruby/object:Gem::Version
|
213
|
-
version: '0
|
214
|
-
- - "<"
|
215
|
-
- !ruby/object:Gem::Version
|
216
|
-
version: '1'
|
199
|
+
version: '0'
|
217
200
|
type: :development
|
218
201
|
prerelease: false
|
219
202
|
version_requirements: !ruby/object:Gem::Requirement
|
220
203
|
requirements:
|
221
204
|
- - ">="
|
222
205
|
- !ruby/object:Gem::Version
|
223
|
-
version: '0
|
224
|
-
- - "<"
|
225
|
-
- !ruby/object:Gem::Version
|
226
|
-
version: '1'
|
206
|
+
version: '0'
|
227
207
|
- !ruby/object:Gem::Dependency
|
228
208
|
name: simplecov
|
229
209
|
requirement: !ruby/object:Gem::Requirement
|
@@ -244,14 +224,14 @@ dependencies:
|
|
244
224
|
requirements:
|
245
225
|
- - "~>"
|
246
226
|
- !ruby/object:Gem::Version
|
247
|
-
version: '
|
227
|
+
version: '6.0'
|
248
228
|
type: :development
|
249
229
|
prerelease: false
|
250
230
|
version_requirements: !ruby/object:Gem::Requirement
|
251
231
|
requirements:
|
252
232
|
- - "~>"
|
253
233
|
- !ruby/object:Gem::Version
|
254
|
-
version: '
|
234
|
+
version: '6.0'
|
255
235
|
- !ruby/object:Gem::Dependency
|
256
236
|
name: webmock
|
257
237
|
requirement: !ruby/object:Gem::Requirement
|
@@ -291,6 +271,8 @@ files:
|
|
291
271
|
- bin/setup
|
292
272
|
- friendly_shipping.gemspec
|
293
273
|
- lib/friendly_shipping.rb
|
274
|
+
- lib/friendly_shipping/api_error.rb
|
275
|
+
- lib/friendly_shipping/api_error_handler.rb
|
294
276
|
- lib/friendly_shipping/api_failure.rb
|
295
277
|
- lib/friendly_shipping/api_result.rb
|
296
278
|
- lib/friendly_shipping/carrier.rb
|
@@ -344,6 +326,7 @@ files:
|
|
344
326
|
- lib/friendly_shipping/services/ups/shipping_methods.rb
|
345
327
|
- lib/friendly_shipping/services/ups/timing_options.rb
|
346
328
|
- lib/friendly_shipping/services/ups_freight.rb
|
329
|
+
- lib/friendly_shipping/services/ups_freight/api_error.rb
|
347
330
|
- lib/friendly_shipping/services/ups_freight/generate_commodity_information.rb
|
348
331
|
- lib/friendly_shipping/services/ups_freight/generate_delivery_options_hash.rb
|
349
332
|
- lib/friendly_shipping/services/ups_freight/generate_document_options_hash.rb
|
@@ -353,6 +336,7 @@ files:
|
|
353
336
|
- lib/friendly_shipping/services/ups_freight/generate_location_hash.rb
|
354
337
|
- lib/friendly_shipping/services/ups_freight/generate_pickup_options_hash.rb
|
355
338
|
- lib/friendly_shipping/services/ups_freight/generate_pickup_request_hash.rb
|
339
|
+
- lib/friendly_shipping/services/ups_freight/generate_reference_hash.rb
|
356
340
|
- lib/friendly_shipping/services/ups_freight/label_delivery_options.rb
|
357
341
|
- lib/friendly_shipping/services/ups_freight/label_document_options.rb
|
358
342
|
- lib/friendly_shipping/services/ups_freight/label_email_options.rb
|
@@ -367,7 +351,6 @@ files:
|
|
367
351
|
- lib/friendly_shipping/services/ups_freight/rates_item_options.rb
|
368
352
|
- lib/friendly_shipping/services/ups_freight/rates_options.rb
|
369
353
|
- lib/friendly_shipping/services/ups_freight/rates_package_options.rb
|
370
|
-
- lib/friendly_shipping/services/ups_freight/restful_api_error_handler.rb
|
371
354
|
- lib/friendly_shipping/services/ups_freight/shipment_document.rb
|
372
355
|
- lib/friendly_shipping/services/ups_freight/shipment_information.rb
|
373
356
|
- lib/friendly_shipping/services/ups_freight/shipping_methods.rb
|
@@ -405,14 +388,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
405
388
|
requirements:
|
406
389
|
- - ">="
|
407
390
|
- !ruby/object:Gem::Version
|
408
|
-
version: '2.
|
391
|
+
version: '2.7'
|
409
392
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
410
393
|
requirements:
|
411
394
|
- - ">="
|
412
395
|
- !ruby/object:Gem::Version
|
413
396
|
version: '0'
|
414
397
|
requirements: []
|
415
|
-
rubygems_version: 3.
|
398
|
+
rubygems_version: 3.3.26
|
416
399
|
signing_key:
|
417
400
|
specification_version: 4
|
418
401
|
summary: An integration layer for shipping services
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module FriendlyShipping
|
4
|
-
module Services
|
5
|
-
class UpsFreight
|
6
|
-
class RestfulApiErrorHandler
|
7
|
-
extend Dry::Monads::Result::Mixin
|
8
|
-
|
9
|
-
def self.call(error, original_request: nil, original_response: nil)
|
10
|
-
parsed_json = JSON.parse(error.response.body)
|
11
|
-
errors = parsed_json.dig('response', 'errors')
|
12
|
-
|
13
|
-
failure_string = errors.map do |err|
|
14
|
-
status = err['code']
|
15
|
-
desc = err['message']
|
16
|
-
[status, desc].compact.join(": ").presence || 'UPS could not process the request.'
|
17
|
-
end.join("\n")
|
18
|
-
|
19
|
-
Failure(
|
20
|
-
ApiFailure.new(
|
21
|
-
failure_string,
|
22
|
-
original_request: original_request,
|
23
|
-
original_response: original_response
|
24
|
-
)
|
25
|
-
)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|