Practice of Programming

プログラム とか Linuxとかの話題

パーサ大体成功そしてModel関係とか

パーサはうまく行ったもよう。以前は文字列に甘い判定してたんですが、ちょっと厳しくなりました。
クォートしないといけないということですが。大した事じゃないか。
他には、メソッドを後に繋げるとか、ハッシュリファレンスとか、アレイリファレンスとかを、ルールファイルで使えるようになった。
これは大きいな。,の変わりに=>も使えるようになりました。可読性向上。
あとは、プラグインのメソッドの返値にメソッドを繋げることができるようになった。

:M:Application.resultset('Table').search(id => 1)

みたいな。


いや、ありがとうTemplate-Toolkit!!


Glueは前から、MVCできるよとは書いてましたが、正直、Modelの実装はひどくてお話にならないんですが、
これでましにできそうです。DBIを使える実装は作ったものの問題があるので、まだcommitしてない。
以前のそのへんの実装は消したほうがよさげ。


上記のものはまだコミットしてないです。もうちょっとテストしてからコミットします。


後、こちらはコミットしたことですが、ディスパッチ処理を改良しました。
個別のプラグインにかかわる実装を本体に組むのは嫌だったんですが、めんどくさすぎるので。

:www:dispatch.path_info_regex
# (snip)
;;application/index/date :/(\d{4})-(\d{2})-(\d{2}): y,m,d

のように書くと、/2006-07-02にアクセスすると、application/index/dateルールが呼ばれます。
stashに、2006, 07 , 02 が、それぞれ、 y, m, d に入るようになります。


これで、ディスパッチ処理をわざわざ書く(というか登録する)必要がなくなる。


Modelがうまく回るようになれば、アプリケーションさくさく作れるかも...。