instant_quote 1.1.5 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 94f1d5df47b3999b97588775a13841df44572c0d7be346910edd63a5ffddd508
4
- data.tar.gz: 962de3818c7dbf3798714ef569989d9d99c86a658d9d438aea11022139796ba2
3
+ metadata.gz: e4ef4d0ea8516cb2964a5ffb767aab8312c50e4a1a0b00b6d4f93a3621e2018a
4
+ data.tar.gz: 6d2e7d83712d2f16cf3366642e5ff315adcac56b6d9a1d16479ff3e66ad68a9f
5
5
  SHA512:
6
- metadata.gz: 80b1b895c788066efda01ce90a92759cc55c30fb980b0009c8afece0185df2587b849891453c63b51045f66d8a635ce73998c980b6670d0f2e5224084bbd2f6d
7
- data.tar.gz: 0e85669f3de89a64c009e6311cc76d60f5f84867499d4642e86373629baa864636120ea1375e33fd5edbca41cd9a9aa1856d96a3159c0a8e51919a68fe4c75ca
6
+ metadata.gz: 71993a58586581d1fcdcc722fc89d418b00a78f27eb252f49e94626e3aea56d8089a22c5a4b5b4b20d0e1fea6cad4275e6f9f7c132e19de932c779572bd31f7b
7
+ data.tar.gz: 4b31a45177b8dda43fb31ec9d852ab16a4cc99a5c9cc22e0a40f335d6c463cddec2e6d3f242b4d7c023a61984d9b060fbd5a09f7d4dc18c50b7f0c2000845d19
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- instant_quote (1.1.5)
4
+ instant_quote (1.1.6)
5
5
  activesupport
6
6
  capital_on_tap
7
7
  iwoca
@@ -96,7 +96,7 @@ GEM
96
96
  simplecov-html (~> 0.11)
97
97
  simplecov-html (0.12.2)
98
98
  thread_safe (0.3.6)
99
- tzinfo (1.2.6)
99
+ tzinfo (1.2.7)
100
100
  thread_safe (~> 0.1)
101
101
  unicode-display_width (1.6.1)
102
102
  webmock (3.8.3)
@@ -50,9 +50,7 @@ module InstantQuote
50
50
  response = ::CapitalOnTap::Application.create(params)
51
51
 
52
52
  # CoT responses can be 200 OK but still have an error!
53
- unless response.success? && !response.error
54
- raise ApiError.new(data: response.body, error: response.error || 'Unknown API error')
55
- end
53
+ raise_error(response) unless response.success? && !response.error
56
54
 
57
55
  response.body.dig(:result)
58
56
  end
@@ -75,7 +73,7 @@ module InstantQuote
75
73
  def get_status(application_id)
76
74
  response = ::CapitalOnTap::Application.status(application_id)
77
75
 
78
- raise ApiError.new(data: response.body, error: response.error) unless response.success?
76
+ raise_error(response) unless response.success?
79
77
 
80
78
  DecisionParsers::CapitalOnTap.new(response.body[:applicationStatus])
81
79
  end
@@ -89,6 +87,16 @@ module InstantQuote
89
87
  def get_approval(_application_id)
90
88
  true
91
89
  end
90
+
91
+ private
92
+
93
+ def raise_error(response)
94
+ raise ApiError.new(
95
+ adapter: 'capital_on_tap',
96
+ data: response.body,
97
+ error: response.error || 'Unknown API error'
98
+ )
99
+ end
92
100
  end
93
101
  end
94
102
  end
@@ -97,7 +97,12 @@ module InstantQuote
97
97
  private
98
98
 
99
99
  def raise_error(response)
100
- raise ApiError.new(data: response.data, error: response.errors.first[:detail])
100
+ raise ApiError.new(
101
+ adapter: 'iwoca',
102
+ data: response.data,
103
+ code: response.errors.first[:code],
104
+ error: response.errors.first[:detail]
105
+ )
101
106
  end
102
107
  end
103
108
  end
@@ -2,14 +2,16 @@
2
2
 
3
3
  module InstantQuote
4
4
  class ApiError < StandardError
5
- attr_accessor :error, :data
5
+ attr_accessor :error, :data, :code, :adapter
6
6
 
7
7
  alias message error
8
8
  alias to_s error
9
9
 
10
10
  def initialize(params = {})
11
+ @adapter = params[:adapter]
11
12
  @error = params[:error]
12
13
  @data = params[:data] || {}
14
+ @code = params[:code]
13
15
 
14
16
  # Delete the metaData key, because it's irrelevant and has long strings
15
17
  @data.delete(:metaData) if @data.key?(:metaData)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module InstantQuote
4
- VERSION = '1.1.5'
4
+ VERSION = '1.1.6'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instant_quote
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - rikas
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-30 00:00:00.000000000 Z
11
+ date: 2020-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler