class Splittable::Normalize

Attributes

installments[RW]
value[R]

Public Class Methods

new(value:, installments:, precision: 2) click to toggle source
# File lib/splittable/normalize.rb, line 4
def initialize(value:, installments:, precision: 2)
  @value = BigDecimal(value, 15).truncate(precision)
  @installments = installments.map { |installment| BigDecimal(installment.round(precision), 15) }
end

Public Instance Methods

call() click to toggle source
# File lib/splittable/normalize.rb, line 9
def call
  decimal_difference = value - installments.sum
  installments[0] += decimal_difference

  installments
end