class Miser::Movement

Constants

ZERO

Attributes

amount[R]
date[R]
purpose[R]

Public Class Methods

new(date:, amount:, purpose:) click to toggle source
# File lib/miser/movement.rb, line 7
def initialize(date:, amount:, purpose:)
  @date = date
  @amount = amount
  @purpose = purpose
end

Public Instance Methods

+(amount) click to toggle source
# File lib/miser/movement.rb, line 13
def +(amount)
  @amount + amount
end
coerce(numeric) click to toggle source
# File lib/miser/movement.rb, line 25
def coerce(numeric)
  [@amount, numeric]
end
credit?() click to toggle source
# File lib/miser/movement.rb, line 21
def credit?
  @amount > ZERO
end
days_from_now() click to toggle source
# File lib/miser/movement.rb, line 33
def days_from_now
  (DateTime.now - @date).to_f
end
debit?() click to toggle source
# File lib/miser/movement.rb, line 17
def debit?
  @amount < ZERO
end
to_s() click to toggle source
# File lib/miser/movement.rb, line 29
def to_s
  "#{@date.to_time.utc}: #{@amount} (#{@purpose})"
end