Module: LogCabin::Modules::Ledger

Defined in:
lib/burglar/helpers/ledger.rb

Overview

Provide a helper to create simple Ledger objects

Instance Method Summary collapse

Instance Method Details

#guess_action(name) ⇒ Object



18
19
20
21
# 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) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# 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:  }
    ]
  )
end