Sha256: 4a94c5c0fb893ca24da85f8860ae7810266fb51316367b5c88c1949865cb2d0e

Contents?: true

Size: 643 Bytes

Versions: 2

Compression:

Stored size: 643 Bytes

Contents

class Amount
  attr_reader :value, :by_type
  def initialize(value, by_type)
    @value = value
    @by_type = by_type
  end

  def ==(other)
    self.value == other.value && self.by_type == other.by_type
  end

  def inspect
    consists_of do |result|
      result.add value_display
      result.when(by_type_display != '') { ", #{by_type_display}"}
    end
  end

  def negative
    Amount.new(-value, by_type)
  end

  def divide
    DivideByType.divide(by_type, value)
  end

  private
  def value_display
    value.to_f
  end

  def by_type_display
    by_type.map { |key, value| "#{key} => #{value.to_f}" }.join(", ")
  end
end #Amount

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
guerrilla_patch-2.7.1 lib/guerrilla_patch/aggregate_by_type/amount.rb
guerrilla_patch-2.7.0 lib/guerrilla_patch/aggregate_by_type/amount.rb