家計簿
大人は金銭管理が出来て当然。大人に向けて家計簿を準備した。
スタンドアロンなのとかWebベースのとか見たけどいまいちだったので趣向を微妙に変えて。Webベースのももんが家計簿をローカルに使ってみることにした。
サーバは大げさにしたくないのでWebrickで。
ということで、mobo の CVS HEAD をダウンロード。
(略)
ディレクトリ構成は
mobolocal/ +mobo/ +mobo.rb +update.rb +その他いろいろ +mododata/
と、mobodataディレクトリを作っておく。
$ diff -ur moboorig mobolocal Only in mobolocal/mobo: index.cgi Only in mobolocal/mobo: mobo.conf Only in mobolocal/mobo: server.rb Only in mobolocal/: mobodata
index.cgiはindex.rbのシンボリックリンク。
mobo.confはサンプルちょっと変えただけ。
--- mobolocal/mobo/mobo.conf.sample 2007-05-03 23:11:04.937500000 +0900 +++ mobolocal/mobo/mobo.conf 2007-05-03 23:40:03.562500000 +0900 @@ -14,7 +14,7 @@ # 経由でアクセスできない(public_html配下でない)ディレクトリを指定しま # す。このディレクトリは、WWWサーバの権限で書き込めるパーミッションに # しておく必要があります。 -@data_path = '/home/foo/mobo' +@data_path = '../mobodata' # 家計簿保存形式の指定【オプション】 # 家計簿の保存形式を標準から変更する場合には、必要な設定をしなければなり @@ -26,8 +26,8 @@ #@io_class = MoBo::DBIIO # # 以下の 2 行のコメント(#)をはずすと、yaml 形式になります。 -#require 'mobo/yamlio' -#@io_class = MoBo::YAMLIO +require 'mobo/yamlio' +@io_class = MoBo::YAMLIO # 参照・更新スクリプト名【オプション】 # @indexと@updateには、それぞれ参照用、更新用のスクリプトファイル名を
server.rb
#!/usr/bin/ruby require 'webrick' doc_root = "." srv = WEBrick::HTTPServer.new({:DocumentRoot => doc_root, :BindAddress => '127.0.0.1', :CGIInterpreter => '/usr/bin/ruby', :Port => 58686}) ["/index.rb", "/update.rb"].each {|cgi| srv.mount(cgi, WEBrick::HTTPServlet::CGIHandler, doc_root+cgi) } ['INT', 'TERM'].each {|signal| Signal.trap(signal){srv.shutdown} } srv.start
サーバースタート
$ ./server.rb
http://localhost:58686/ を開いてそれっぽければOK。何とか動く。
ただ、
divided by 0 (ZeroDivisionError) (erb):33:in `/' (erb):33:in `do_eval_rhtml' (erb):27:in `each' (erb):27:in `do_eval_rhtml' /home/oto-oto-oto/program/ruby/mobo/mobolocal/mobo/mobo.rb:857:in `do_eval_rhtml' /home/oto-oto-oto/program/ruby/mobo/mobolocal/mobo/mobo.rb:833:in `eval_rhtml' /home/oto-oto-oto/program/ruby/mobo/mobolocal/mobo/index.cgi:56
と出る。
まあ気にしないことにしよう。データを入れたら0割りは消えるかもしれないし、保存されてれば形式は何でもいいや。
なんかまずいとかもっと良い方法があれば教えて下さい。