Sha256: a9dc38461e775d351fc802406bf80208db8f570af41da425f133209d831da05f

Contents?: true

Size: 1.04 KB

Versions: 6

Compression:

Stored size: 1.04 KB

Contents

module LoanCreator
  class UncapitalizedBullet < LoanCreator::Common
    def lender_timetable
      raise ArgumentError.new(:deferred_in_periods) unless deferred_in_periods == 0
      raise ArgumentError.new(:interests_start_date) unless interests_start_date.nil?
      timetable = new_timetable
      reset_current_term
      @crd_beginning_of_period = amount
      @crd_end_of_period = amount
      (duration_in_periods - 1).times { timetable << current_term }
      compute_last_term
      timetable << current_term
      timetable
    end

    private

    def compute_last_term
      @crd_end_of_period = bigd('0')
      @period_interests = total_interests
      @period_capital = @crd_beginning_of_period
      @total_paid_capital_end_of_period = @period_capital
      @total_paid_interests_end_of_period = @period_interests
      @period_amount_to_pay = @period_capital + @period_interests
    end

    def total_interests
      amount.mult(
        bigd(periodic_interests_rate) * bigd(duration_in_periods),
        BIG_DECIMAL_DIGITS
      )
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
loan_creator-0.6.1.1 lib/loan_creator/uncapitalized_bullet.rb
loan_creator-0.7.1 lib/loan_creator/uncapitalized_bullet.rb
loan_creator-0.7.0 lib/loan_creator/uncapitalized_bullet.rb
loan_creator-0.6.3.1 lib/loan_creator/uncapitalized_bullet.rb
loan_creator-0.6.2 lib/loan_creator/uncapitalized_bullet.rb
loan_creator-0.6.1 lib/loan_creator/uncapitalized_bullet.rb