Class: Splittable::Normalize
- Inherits:
-
Object
- Object
- Splittable::Normalize
- Defined in:
- lib/splittable/normalize.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(value:, installments:, precision: 2) ⇒ Normalize
constructor
A new instance of Normalize.
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
#call ⇒ Object
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 |