instant_quote 1.7.24 → 1.7.26
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/Gemfile.lock +1 -1
- data/lib/instant_quote/adapters/iwoca.rb +20 -2
- data/lib/instant_quote/connection_translators/iwoca.rb +39 -0
- data/lib/instant_quote/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1ec6c6b54ad7fcbae1c051dbcbbedcca488e333be4cc43d8e1fa9ae59e922718
|
|
4
|
+
data.tar.gz: 67d0eb7cfe1010ef0453a3432600c9d1fae69c9c2e415883cc3d4a3feeae9d8e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 53b0606d174db814c57a5807b7dc6dccbf6a2db024b7e13e430eb4d1dea25f02a334b10a4b5b29cbcd23a881453ea73f794d9ff68c1ab558cf417516a96f4743
|
|
7
|
+
data.tar.gz: 4501ff4205734159be5c0007b2b6eb78067f89caabcda9d777c4ca4817e988ea4b9e91c00284676777b64d7616d4f10875f35454a0a8be5af24dbc7cb7d70bfb
|
data/Gemfile.lock
CHANGED
|
@@ -58,16 +58,34 @@ module InstantQuote
|
|
|
58
58
|
]
|
|
59
59
|
|
|
60
60
|
# Creates the iwoca customer and application and returns the customer_id from the response.
|
|
61
|
+
# The params come from the connection translator that returns 3 hashes:
|
|
62
|
+
# - company: The company information
|
|
63
|
+
# - people: The people information
|
|
64
|
+
# - requests: The requests information
|
|
61
65
|
def get_quote(params, _connection)
|
|
62
|
-
|
|
66
|
+
company = params.dig(:data, :company)
|
|
67
|
+
people = params.dig(:data, :people)
|
|
68
|
+
requests = params.dig(:data, :requests)
|
|
69
|
+
|
|
70
|
+
# We can only send company and people
|
|
71
|
+
response = ::Iwoca::Customer.create(data: {
|
|
72
|
+
data: {
|
|
73
|
+
company: company,
|
|
74
|
+
people: people
|
|
75
|
+
}
|
|
76
|
+
})
|
|
63
77
|
|
|
64
78
|
raise_error(response) unless response.success?
|
|
65
79
|
|
|
66
80
|
customer_id = response.data[:customer_id]
|
|
67
81
|
|
|
82
|
+
|
|
68
83
|
# This returns an application_id but we can't store it since we don't have more than one
|
|
69
84
|
# external ID field. We shouldn't need it anyway.
|
|
70
|
-
::Iwoca::Application.create(
|
|
85
|
+
::Iwoca::Application.create(
|
|
86
|
+
customer_id: response.data[:customer_id],
|
|
87
|
+
data: { data: { requests: requests }}
|
|
88
|
+
)
|
|
71
89
|
|
|
72
90
|
return customer_id if response.success?
|
|
73
91
|
|
|
@@ -8,12 +8,51 @@ module InstantQuote
|
|
|
8
8
|
data: {
|
|
9
9
|
company: company_information,
|
|
10
10
|
people: [person_information],
|
|
11
|
+
requests: [
|
|
12
|
+
amount: application.amount_pennies / 100,
|
|
13
|
+
duration: { amount: 12, unit: 'months' },
|
|
14
|
+
purpose: proceeds_purpose,
|
|
15
|
+
product_type: product_name,
|
|
16
|
+
urgency: 'asap'
|
|
17
|
+
]
|
|
11
18
|
}
|
|
12
19
|
}
|
|
13
20
|
end
|
|
14
21
|
|
|
15
22
|
private
|
|
16
23
|
|
|
24
|
+
# Maps the proceeds purpose to a valid value for iwoca.
|
|
25
|
+
# Possible iwoca values:
|
|
26
|
+
# - stock_purchase
|
|
27
|
+
# - bridging_loan
|
|
28
|
+
# - marketing
|
|
29
|
+
# - equipment_purchase
|
|
30
|
+
# - pay_bill
|
|
31
|
+
# - pay_staff
|
|
32
|
+
# - refinancing_debt
|
|
33
|
+
# - financing_client_order
|
|
34
|
+
# - pay_tax_bill
|
|
35
|
+
# - other
|
|
36
|
+
# - null
|
|
37
|
+
# - recovery_loan_working_capital
|
|
38
|
+
# - recovery_loan_expansion_or_growth
|
|
39
|
+
# - recovery_loan_replacing_external_finance
|
|
40
|
+
#
|
|
41
|
+
# TODO: There are a lot of proceeds purposes that we don't have a mapping for.
|
|
42
|
+
def proceeds_purpose
|
|
43
|
+
purpose = application.proceeds_purpose&.overview&.name
|
|
44
|
+
case purpose
|
|
45
|
+
when 'Invest in equipment or machinery'
|
|
46
|
+
'equipment_purchase'
|
|
47
|
+
when 'Refinance an existing loan'
|
|
48
|
+
'refinancing_debt'
|
|
49
|
+
when 'Buy or refinance vehicle(s)'
|
|
50
|
+
'equipment_purchase'
|
|
51
|
+
else
|
|
52
|
+
'other'
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
17
56
|
def product_name
|
|
18
57
|
case connection.adapter
|
|
19
58
|
when 'iwoca'
|