easyship 0.1.2 → 0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a715ea30361416f3bc58cee44919e36a7ac7dbe85f1f615c2a74350f889bdef
4
- data.tar.gz: 297a361bdad68de29061c1cf6aaa09db8aad1573aa9356c069784b564526ca7f
3
+ metadata.gz: 812760f6c36e7f28cbdbf710f5828178f3f983dc99f356fa8382877321d616f6
4
+ data.tar.gz: f3a18b45e2fbf246790b1d0e10dec6d5b2905205833f6b2a436601faa21a557f
5
5
  SHA512:
6
- metadata.gz: bf0c4bded300aa2b72ab47b5ddbd16ba5733c3f515bc403e74322bd4dd5b10b0c9a214aeb629bb257fe0078952b4b5ad0ec4d75e05794666207fcef57d420084
7
- data.tar.gz: 394cc54f2400a0f1b86a66340c19e03a42298fe31dc1764ee5c443b8e8fa4e1ddc2af3be5123e2ba4efc781f843c6ab2739481d850d28e83155d178886a8b1a0
6
+ metadata.gz: 3c1c3673c3ff7516cb39cd7507c6c49564eaf3989b884bc847874b701bc4d77fc9e87d818f99add52b6bc80832db2fe75eb9be0756e6ceb67731cb29831faeba
7
+ data.tar.gz: fb50c604914a06b7aaa73e0105cf053f11be690e352acf4692e5e9bcb4f4a892bfe87abaf30dab16c04d6d767c82d6931960733972d63d835992bea3c3a07134
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [v0.1.3](https://github.com/mmarusyk/easyship/tree/v0.1.3) - 2024-06-27
4
+
5
+ ### Fixed
6
+ - Error from v1 is not handled by @mmarusyk
7
+
3
8
  ## [v0.1.2](https://github.com/mmarusyk/easyship/tree/v0.1.2) - 2024-06-24
4
9
 
5
10
  ### Features
@@ -7,6 +7,7 @@ module Easyship
7
7
  class Error
8
8
  # rubocop:disable Style::MutableConstant Style::MissingElse
9
9
  ERRORS = {
10
+ 400 => Easyship::Errors::BadRequestError,
10
11
  401 => Easyship::Errors::InvalidTokenError,
11
12
  402 => Easyship::Errors::PaymentRequiredError,
12
13
  404 => Easyship::Errors::ResourceNotFoundError,
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'client_error'
4
+
5
+ module Easyship
6
+ module Errors
7
+ # Raised when Easyship returns the HTTP status code 400
8
+ class BadRequestError < ClientError; end
9
+ end
10
+ end
@@ -29,8 +29,6 @@ module Easyship
29
29
 
30
30
  if body.key?(:error) && body[:error].is_a?(Hash)
31
31
  format_body_error(body)
32
- elsif body.key?(:errors) && body[:errors].is_a?(Array)
33
- format_body_errors_array(body)
34
32
  elsif body.key?(:errors)
35
33
  format_body_errors(body)
36
34
  else
@@ -46,12 +44,10 @@ module Easyship
46
44
  body[:error]
47
45
  end
48
46
 
49
- def format_body_errors_array(body)
50
- { details: body[:errors], message: body[:errors].map { |error| error[:message] }.join(', ') }
51
- end
52
-
53
47
  def format_body_errors(body)
54
- { details: body[:errors], message: body[:errors] }
48
+ errors = Array(body[:errors])
49
+
50
+ { details: errors, message: errors.join(', ') }
55
51
  end
56
52
 
57
53
  def format_by_default(body)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Easyship
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easyship
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Marusyk
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-24 00:00:00.000000000 Z
11
+ date: 2024-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -45,6 +45,7 @@ files:
45
45
  - lib/easyship/client.rb
46
46
  - lib/easyship/configuration.rb
47
47
  - lib/easyship/error.rb
48
+ - lib/easyship/errors/bad_request_error.rb
48
49
  - lib/easyship/errors/client_error.rb
49
50
  - lib/easyship/errors/easyship_error.rb
50
51
  - lib/easyship/errors/invalid_token_error.rb
@@ -82,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
83
  - !ruby/object:Gem::Version
83
84
  version: '0'
84
85
  requirements: []
85
- rubygems_version: 3.5.9
86
+ rubygems_version: 3.4.10
86
87
  signing_key:
87
88
  specification_version: 4
88
89
  summary: A Ruby client for integrating with Easyship's API for shipping and logistics