Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ballista

Gem Version Build Status Coverage Status Code Quality 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

Packages

No packages published

Languages