external_services 0.6.1 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d3c92afbc31a36862b06405daff7696c14bdf8b1b141404b14ed2971c4db043b
4
- data.tar.gz: 907ff311545ceabe9599eadb86e86db89d3683a8b00c49d30136e3ba0c708c32
3
+ metadata.gz: c692d1b36f22cddf77cdc63939d493f065781cceeb5a00b0b3778f916774e28d
4
+ data.tar.gz: 69e16eefbd6cc88367fb1b5eced803a217edd6b0ac5a77e451e760c2050c9958
5
5
  SHA512:
6
- metadata.gz: ec6be4a025b3c3a1f0d641b62e7257402184670c1e7eea7c7fc826d51915cca810d4a272a4736fe5cc664f48a86e7db7dc4bf3ced782484d43fd49cbf67270ec
7
- data.tar.gz: 032b3e13cbae7ddff759dfc4234741c66c0ebdaacdd816d380a285e9af289ff04b93cfa57aa7078b4734dc6a84d7b81997fe2f42746fdaee4c8a56a3b142ae64
6
+ metadata.gz: dc092f145378163610c5870591fd2f2fdc6f704bcbee1b918669ef68108ac046044151e2075440805d344a373e6a8c52be11baa1008e417c7bd7f04c1976522e
7
+ data.tar.gz: 72c24b0eb771a702070f621cf3729367853571480f721a16cc8695f2586a4c6a2cc9eabff59e44ce0a0ae8631fda9860b6ef1b7e720db6d5f6f108f878ef7387
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- external_services (0.6.1)
4
+ external_services (0.7.0)
5
5
  faraday (>= 2.0, < 3)
6
6
  rails (>= 5.0.7, < 8)
7
7
 
@@ -5,22 +5,36 @@ require 'faraday'
5
5
  module ExternalServices
6
6
  module Api
7
7
  class Error < StandardError
8
- attr_reader :response
8
+ attr_reader :response, :status, :url, :method, :body
9
9
 
10
10
  def initialize(response)
11
11
  @response = response
12
12
 
13
- super
14
- end
13
+ if response.respond_to?(:env)
14
+ @status = response.status
15
+ @url = response.env.url.to_s
16
+ @method = response.env.method.to_s.upcase
17
+ @body = response.body
18
+ end
15
19
 
16
- def message
17
- @response.inspect
20
+ super(build_message)
18
21
  end
19
22
 
20
- alias to_s message
23
+ private
24
+
25
+ def build_message
26
+ return 'API Error: No response provided' if response.nil?
27
+
28
+ message = <<~MSG
29
+ API Error:
30
+ Method: #{method}
31
+ URL: #{url}
32
+ Status: HTTP #{status}
33
+ MSG
34
+
35
+ message += " Body: #{body.inspect}\n" if body
21
36
 
22
- def inspect
23
- "#{self.class}: #{self}"
37
+ message.strip
24
38
  end
25
39
  end
26
40
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ExternalServices
4
- VERSION = '0.6.1'
4
+ VERSION = '0.7.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: external_services
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Gnuskov