moh version 0.3.0

コマンドラインで使うシンプルな家計簿ソフト、mohの新しいバージョンをリリースした。

https://github.com/yoriyuki/moh/releases/tag/v0.3.0

インストール

まずrubyが必要だ。Mac OS X Yosemiteでは最初からインストールされている。(Yosemiteで動作確認済み)WindowsやLinuxではそれぞれのOSの方法でインストールする必要がある。

次に上のリンクから、zipまたはtar.gzファイルをダウンロードしてきて展開する。そのなかの、moh.rbというファイルを適当なところに移動する。

インストールは以上で終わり。以下では、カレントディレクトリにmoh.rbがあることを仮定する。

使い方

家計簿データの入力

まず家計簿データの入力が必要だ。mohは家計簿データを入植するための特別なツールやファイルフォーマットを必要としていない。プレーンのテキストファイルまたはDayOne日記アプリの日記に、次のような行を書き込むだけ。([が行の先頭に来ていないといけないし、700円の後に空白以外は現れてはいけない。)

[2015-09-24]$ 財布 支出 セブン-イレブンでお弁当 700

これは、「財布」から「支出」へ、700円が移動したことを表す。 セブン-イレブン…はコメント。

項目は階層化できる。次のように書くと、「財布」から「支出」の「昼食」へ700円移動したことを示す。

[2015-09-24]$ 財布 支出:昼食 セブン-イレブンでお弁当 700

このとき、700円は「支出」全体へも移動したとみなされる。

上記のような形をしていない行は、mohによって無視される。よって、例えば日記の中に、家計簿データを書くことができる。

レポートの生成

これが終わったら、mohを実行することによりレポートを得ることができる。データがXXXディレクトリかその下のディレクトリにあれば、

$ ruby moh.rb -d XXX -s 支出 20140101 20141231

とすることにより、「支出」項目の年間レポートが出力される。

複数ディレクトリを指定することもできる。ただし、-dは一つ以上はなくてはいけない。

$ ruby moh.rb -d XXX -d YYY -s 支出 20140101 20141231

デフォルトではtxtという拡張子がついたファイルをスキャンするが、変えることもできる。

$ ruby moh.rb -d XXX --txt_suffix=text -s 支出 20140101 20141231

DayOneを使っている場合は、DayOneのentriesディレクトリがXXXであるとして、

$ ruby moh.rb --dayone=XXX -s 支出 20140101 20141231

プレーンテキストとDayOneを混ぜることもできる。

$ ruby moh.rb -d XXX -dayone=YYY -s 支出 20140101 20141231

ネストした項目のうち、ある深さまでだけ表示させたいときは次のように書く。

$ ruby moh.rb -d XXX -dayone=YYY -s -D 2 支出:小遣い 20140101 20141231

は、支出:小遣い項目の中の「支出:小遣い」と「支出:小遣い:夕食」などなど、の合計を表示する。

今後

特に計画はないが、ご意見はどしどしお寄せいただきたく。