Class: Splittable::Normalize

Inherits:
Object
  • Object
show all
Defined in:
lib/splittable/normalize.rb

Instance Method Summary collapse

Constructor Details

#initialize(value:, installments:, precision: 2) ⇒ Normalize

Returns a new instance of Normalize.



4
5
6
7
8
# File 'lib/splittable/normalize.rb', line 4

def initialize(value:, installments:, precision: 2)
  check_installments_validity!(installments)
  @value = BigDecimal(value, 15).truncate(precision)
  @installments = installments.map { |installment| BigDecimal(installment.round(precision), 15) }
end

Instance Method Details

#callObject



10
11
12
13
14
15
# File 'lib/splittable/normalize.rb', line 10

def call
  decimal_difference = value - installments.sum
  installments[0] += decimal_difference

  installments
end