Skip to content

akerl/ballista

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages