-
modernize for Ruby 3.3+
- target Ruby >= 3.3.0, test on 3.3 and 3.4
- update all dependencies (thor 1.x, terminal-table 3.x, highline 3.x)
- use
YAML.unsafe_load_file(required since Ruby 3.1 for custom YAML types) - add frozen_string_literal to all Ruby files
-
switch to GitHub Actions CI with release workflow
- add
.github/workflows/main.ymlfor CI - add
.github/workflows/release.ymlfor automated gem publishing on tag push - remove
.gitlab-ci.yml
- add
-
add mise.toml for Ruby version management
-
'--version' and '-v' handled by version-subcommand
-
pass csv-file to ledger-subcommand:
$ total_recall ledger -c bank.yml --csv ~/Downloads/bank.csv -
init-subcommand skips yml-extension if provided
-
remove duplicate
exe/total_recall.rb
-
move repository to GitLab
-
upgrade dependencies
-
added option to use only transaction-section from template
This makes adding transactions to an existing ledger-file easier.
$ total_recall ledger -c bank.yml --transactions-only >> bank.dat
-
extend the ledger subcommand by passing it a file with customizations
$ cat my_extension.rb module MyExtension def ask_account(*args) # some custom stuff super end end TotalRecall::SessionHelper.include MyExtension $ total_recall ledger -c sample.yml -r ./my_extension.rb
-
add version subcommand
-
add default-helper
Let's you point to the default-value of an attribute:
:context: :transactions: :__defaults__: :a: 1 :a: !!proc | ask("What value has a?", default: default)
-
add transaction-helper
This allows you to use already set attributes of the transaction:
:context: :transactions: :a: 1 :b: !!proc | transaction.a.succ
- Add yaml-config.