Module: Greensky
- Defined in:
- lib/greensky.rb,
lib/greensky/error.rb,
lib/greensky/client.rb,
lib/greensky/version.rb,
lib/greensky/long_application.rb,
lib/greensky/document_downloader.rb
Defined Under Namespace
Classes: Client, ConfigurableDefault, DocumentDownloader, Error, LongApplication
Constant Summary
collapse
- VERSION =
"1.10.0"
Class Method Summary
collapse
Class Method Details
.agreement(application) ⇒ Object
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/greensky.rb', line 47
def self.agreement(application)
data = {
role: application.role,
channel: application.channel,
program: application.program,
product: application.product,
applicationId: application.applicationId
}
client.get 'loanagreement', data, {token: application.token}
end
|
.client ⇒ Object
14
15
16
|
# File 'lib/greensky.rb', line 14
def self.client
Client.new(config)
end
|
.config ⇒ Object
10
11
12
|
# File 'lib/greensky.rb', line 10
def self.config
@@config ||= OpenStruct.new({role: 'merchant'})
end
|
.create(application, offer_id) ⇒ Object
58
59
60
61
62
63
64
65
66
67
68
|
# File 'lib/greensky.rb', line 58
def self.create(application, offer_id)
result = client.post('create', {
offerId: offer_id,
role: application.role,
channel: application.channel,
program: application.program,
product: application.product,
applicationId: application.applicationId
}, {token: application.token})
result.fetch('status')
end
|
.decision(application) ⇒ Object
101
102
103
104
105
106
107
108
109
110
|
# File 'lib/greensky.rb', line 101
def self.decision(application)
data = {
program: application.program,
product: application.product,
role: application.role,
applicationId: application.applicationId,
}
client.get 'decision', data, token: application.token
end
|
.download_document(application, &block) ⇒ Object
18
19
20
|
# File 'lib/greensky.rb', line 18
def self.download_document(application, &block)
DocumentDownloader.new(config, application).execute(&block)
end
|
.list ⇒ Object
22
23
24
|
# File 'lib/greensky.rb', line 22
def self.list
client.get 'list', {channel: config.channel}
end
|
.merchant_validation(application) ⇒ Object
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/greensky.rb', line 70
def self.merchant_validation(application)
client.get 'merchantvalidation', {
dealer: application.merchantNumber,
role: application.role,
program: application.program,
product: application.product,
channel: application.channel,
plan: application.plan
}
end
|
.offers(application) ⇒ Object
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/greensky.rb', line 36
def self.offers(application)
data = {
channel: application.channel,
program: application.program,
product: application.product,
applicationId: application.applicationId,
role: application.role
}
client.get 'offer', data, {token: application.token}
end
|
.recalculate_offer(application) ⇒ Object
88
89
90
91
92
93
94
95
96
97
98
99
|
# File 'lib/greensky.rb', line 88
def self.recalculate_offer(application)
data = {
program: application.program,
product: application.product,
role: application.role,
applicationId: application.applicationId,
loanAmount: application.requestedLoanAmount,
plan: application.plan,
}
client.post 'recalculateoffer', data, token: application.token
end
|
.state(application) ⇒ Object
26
27
28
29
30
31
32
33
34
|
# File 'lib/greensky.rb', line 26
def self.state(application)
data = {
channel: application.channel,
program: application.program,
product: application.product,
applicationId: application.applicationId
}
client.get 'state', data, {token: application.token}
end
|
.submit_async(application) ⇒ Object
81
82
83
84
85
86
|
# File 'lib/greensky.rb', line 81
def self.submit_async(application)
validation = merchant_validation(application)
= {token: validation['token']}
data = application.attributes
client.post 'asynchronoussubmit', data,
end
|