rex/site/ledger/lib/ledger.rb

tests/_examples/rex/site/ledger/lib/ledger.rb in the metorex repository.

class Ledger
  def initialize
    @entries = []
  end

  def record(amount)
    raise ArgumentError, "an entry needs an amount" if amount.zero?

    @entries << amount
    self
  end

  def balance = @entries.sum

  def overdrawn? = balance.negative?
end