Project

ballista

0.0
No release in over 3 years
Low commit activity in last 3 years
Projection tool for Ledger format
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 0.5.1
~> 0.9.3
~> 13.0.3
~> 3.10.0

Runtime

~> 2.0.0
~> 0.0.8
~> 0.4.0
 Project Readme

ballista

Gem Version GitHub Workflow Status MIT Licensed

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.