Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
lib
spec
.circle-ruby
.gitignore
.prospectus
.rspec
.rubocop.yml
.travis.yml
Gemfile
LICENSE
README.md
Rakefile
ballista.gemspec

README.md

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.

You can’t perform that action at this time.