Class: SixSaferpay::ChosenPlan

Inherits:
Object
  • Object
show all
Defined in:
lib/six_saferpay/models/chosen_plan.rb

Direct Known Subclasses

CustomPlan

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(minimum_number_of_installments:, maximum_number_of_installments:, interest_rate: nil, installment_fee: nil, annual_percentage_rate: nil, total_amount_due: nil) ⇒ ChosenPlan

Returns a new instance of ChosenPlan.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/six_saferpay/models/chosen_plan.rb', line 13

def initialize(
  minimum_number_of_installments: ,
  maximum_number_of_installments: ,
  interest_rate: nil,
  installment_fee: nil,
  annual_percentage_rate: nil,
  total_amount_due: nil
)
  @minimum_number_of_installments =
    minimum_number_of_installments
  @maximum_number_of_installments =
    maximum_number_of_installments
  @interest_rate = interest_rate
  if installment_fee
    @installment_fee = SixSaferpay::InstallmentFee
      .new(**installment_fee.to_h)
  end
  if annual_percentage_rate
    @annual_percentage_rate = annual_percentage_rate
  end
  if total_amount_due
    @total_amount_due = SixSaferpay::TotalAmountDue
      .new(**total_amount_due.to_h)
  end
end

Instance Attribute Details

#annual_percentage_rateObject

Returns the value of attribute annual_percentage_rate.



4
5
6
# File 'lib/six_saferpay/models/chosen_plan.rb', line 4

def annual_percentage_rate
  @annual_percentage_rate
end

#installment_feeObject

Returns the value of attribute installment_fee.



4
5
6
# File 'lib/six_saferpay/models/chosen_plan.rb', line 4

def installment_fee
  @installment_fee
end

#interest_rateObject

Returns the value of attribute interest_rate.



4
5
6
# File 'lib/six_saferpay/models/chosen_plan.rb', line 4

def interest_rate
  @interest_rate
end

#maximum_number_of_installmentsObject

Returns the value of attribute maximum_number_of_installments.



4
5
6
# File 'lib/six_saferpay/models/chosen_plan.rb', line 4

def maximum_number_of_installments
  @maximum_number_of_installments
end

#minimum_number_of_installmentsObject

Returns the value of attribute minimum_number_of_installments.



4
5
6
# File 'lib/six_saferpay/models/chosen_plan.rb', line 4

def minimum_number_of_installments
  @minimum_number_of_installments
end

Instance Method Details

#to_hashObject Also known as: to_h



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/six_saferpay/models/chosen_plan.rb', line 39

def to_hash
  hash = Hash.new
  hash.merge!(minimum_number_of_installments:
              @minimum_number_of_installments)
  hash.merge!(maximum_number_of_installments:
              @maximum_number_of_installments)
  if @interest_rate
    hash.merge!(interest_rate: @interest_rate)
  end
  if @installment_fee
    hash.merge!(installment_fee: @installment_fee.to_h)
  end
  if @annual_percentage_rate
    hash.merge!(annual_percentage_rate: @annual_percentage_rate)
  end
  if @total_amount_due
    hash.merge!(total_amount_due: @total_amount_due.to_h)
  end
  hash
end