module LogCabin::Modules::Ledger

Provide a helper to create simple Ledger objects

Public Instance Methods

guess_action(name) click to toggle source
# File lib/burglar/helpers/ledger.rb, line 18
def guess_action(name)
  guess = `ledger xact '#{name.delete("'")}' 2>/dev/null`.split("\n")[1]
  guess ? guess.split.first : 'Expenses:generic'
end
simple_ledger(date, name, amount) click to toggle source
# File lib/burglar/helpers/ledger.rb, line 6
def simple_ledger(date, name, amount)
  ::Ledger::Entry.new(
    name: name,
    state: date > Date.today ? :pending : :cleared,
    date: date.strftime('%Y/%m/%d'),
    actions: [
      { name: guess_action(name), amount: amount },
      { name: account_name }
    ]
  )
end