Class: InstantQuote::DecisionParsers::Fake

Inherits:
InstantQuote::DecisionParser show all
Defined in:
lib/instant_quote/decision_parsers/fake.rb

Constant Summary collapse

STATUSES =
{
  pending: 'pending',
  approved: 'approved',
  declined: 'declined',
  could_not_submit: 'CouldNotSubmit',
  no_decision: 'no_decision_possible'
}.freeze

Instance Attribute Summary

Attributes inherited from InstantQuote::DecisionParser

#data

Instance Method Summary collapse

Methods inherited from InstantQuote::DecisionParser

#initialize, #loan_started?, #manual_review?, #no_decision_possible?

Constructor Details

This class inherits a constructor from InstantQuote::DecisionParser

Instance Method Details

#amountObject



46
47
48
# File 'lib/instant_quote/decision_parsers/fake.rb', line 46

def amount
  Money.new(credit_decision[:amount].to_f * 100).format
end

#approved?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/instant_quote/decision_parsers/fake.rb', line 20

def approved?
  status == STATUSES[:approved]
end

#credit_durationObject



28
29
30
# File 'lib/instant_quote/decision_parsers/fake.rb', line 28

def credit_duration
  credit_decision.dig(:approved, :duration)
end

#credit_intervalObject



32
33
34
# File 'lib/instant_quote/decision_parsers/fake.rb', line 32

def credit_interval
  credit_decision.dig(:approved, :interval)
end

#declined?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/instant_quote/decision_parsers/fake.rb', line 24

def declined?
  status == STATUSES[:declined]
end

#feeObject



40
41
42
43
44
# File 'lib/instant_quote/decision_parsers/fake.rb', line 40

def fee
  fee = credit_decision[:fee].to_f

  Money.new(fee * 100).format
end

#funded_amountObject



56
57
58
59
60
# File 'lib/instant_quote/decision_parsers/fake.rb', line 56

def funded_amount
  amount = credit_decision[:funded_amount].to_f

  Money.new(amount * 100).format
end

#loan_amountObject



50
51
52
53
54
# File 'lib/instant_quote/decision_parsers/fake.rb', line 50

def loan_amount
  amount = credit_decision[:loan_amount].to_f

  Money.new(amount * 100).format
end

#monthly_card_interest_rateObject



67
68
69
# File 'lib/instant_quote/decision_parsers/fake.rb', line 67

def monthly_card_interest_rate
  credit_decision[:monthly_card_interes_rate] || 0.0
end

#monthly_interest_rateObject



62
63
64
65
# File 'lib/instant_quote/decision_parsers/fake.rb', line 62

def monthly_interest_rate
  credit_decision[:monthly_interes_rate] ||
    credit_decision.dig(:approved, :monthly_interest_rate) || 0.0
end

#pending?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/instant_quote/decision_parsers/fake.rb', line 16

def pending?
  status == STATUSES[:pending]
end

#statusObject



71
72
73
# File 'lib/instant_quote/decision_parsers/fake.rb', line 71

def status
  credit_decision[:status] || STATUSES[:could_not_submit]
end

#sweepObject



36
37
38
# File 'lib/instant_quote/decision_parsers/fake.rb', line 36

def sweep
  credit_decision[:sweep]
end