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