Class: Ec::Abacus::SimpleInterest

Inherits:
Object
  • Object
show all
Defined in:
lib/ec/abacus/simple_interest.rb

Instance Method Summary collapse

Constructor Details

#initialize(principal:, annual_rate:, start_date:, end_date:, rule:) ⇒ SimpleInterest

Returns a new instance of SimpleInterest.



8
9
10
11
12
13
14
# File 'lib/ec/abacus/simple_interest.rb', line 8

def initialize(principal:, annual_rate:, start_date:, end_date:, rule:)
  @principal = principal
  @annual_rate = annual_rate 
  @start_date = Chronic.parse(start_date)&.to_date
  @end_date = Chronic.parse(end_date)&.to_date
  @rule = rule.to_sym
end

Instance Method Details

#callObject



16
17
18
19
20
21
22
# File 'lib/ec/abacus/simple_interest.rb', line 16

def call 
  if start_date.present? && end_date.present?
    principal * annual_rate * year_fraction
  else
    return 0
  end
end