今週中は無理だなー。来週にはなんとか。
予定の機能が揃っているか/動いているかチェックするだけでも、だんだんと手間になってきましたね。キチッとした方法論が必要かもしれません。だんだんに考えよう。
リリース4の目玉は、Webフォーム処理の入り口を担当する translate コマンドでしょう。translate を呼ぶだけで、フォームデータの変換とか検証とか全部やってくれます。プログラミングは一切ありません。translate を通り抜けたデータは、パイプラインの次のコマンドが扱うべき正しいJSONデータであることが保証されます。
// だいたいの感じ、詳細は変わるかも/* this is /forms/do-something.cgi */
translate my:formType |
when {
OK => process-form.caty | print /forms/confirm.html
ERROR => modify-errors.caty | print /forms/retry.html
}
出力処理はprintコマンド、入力処理はtranslateコマンド、あとはまん中辺のストレージ処理(CRUD操作)があれば、けっこうな事ができます。ストレージ処理も、学習負担の小さい JSON-centricな方法がだいたい固まっています(鍬田さんのアイディアが大きい)。