ballista
Helper for projecting based on Ledger format.
Usage
To make a new Projection object, use Ballista.new(entries: my_config)
. my_config should be a hash of projection entries, like this:
- name: Pay Check
when:
- 15
- 30
actions:
Expenses:Taxes:federal_income: $729.26
Expenses:Taxes:va_income: $215.14
Expenses:Taxes:social_security: $299.46
Expenses:Taxes:medicare: $70.04
Assets:Checking:simple: $2739.10
Assets:401K:Trad:work: $772.00
Income:Salary:work: $-4825.00
- name: Automatic transfer to Savings
when: 2
actions:
Assets:Savings:ally: $1000.00
Assets:Checking:simple: null
- name: Rent
when: 2
actions:
Expenses:Bills:rent: $2800.00
Assets:Checking:simple: null
To do a projection, call .project(start_dt, end_dt)
on your created object. The dates should be Ruby Date objects.
The returned object will be a Ledger journal, courtesy of libledger. As such, you can inspect the .entries as well as use .to_s or puts to print it in ledger text file format.
Installation
gem install ballista
License
ballista is released under the MIT License. See the bundled LICENSE file for details.