From: MoonWolf Date: 2002-07-22T00:38:21+09:00 Subject: [ruby-list:35603] [ANN] CGI::Application-1.0.0 released MoonWolfです。 CGI::Application 1.0.0をリリースしました。 cgi.rbを使ったCGIアプリケーションの為のフレームワークです。 http://www.ruby-lang.org/en/raa-list.rhtml?name=CGI%3A%3AApplication = 概要 アプリケーションの制御を1つのクラスでまとめて行います。 その為、コードの再利用が促進され、コードが短くなり、アプリケーションが理 解しやすくなります。 ユーザの要求はrunメソッド内でディスパッチされ実行モードに対応したメソッ ド(do_xxx)で処理されます。実行モードはクエリー、フォームの"rm"で指定しま す。 = 使い方 サンプルとして同梱しているSimplebbsを見ればよくわかると思います。 稼働例: http://www.moonwolf.com/~moonwolf/cgi-bin/simplebbs/simplebbs.cgi ----------------------------------------------------------- myapp.rb require "cgi/application" # CGI::Applicationを継承する class MyApplication < CGI::Application def setup(conn,uid,pwd) # DB接続等の初期化処理を記述 # @dbh = DBI.conn(conn,uid,pwd) end def teardown # DB切断等の後始末処理を記述 # @dbh.disconnect end # 実行モード未指定時の処理 def do_start(cgi) cgi.out { ... } end # 実行モード'list'時の処理 def do_list(cgi) cgi.out { ... } end end ----------------------------------------------------------- myapp.cgi #!/usr/bin/ruby require "myapp" app = MyApplication.new app.setup(...) cgi = CGI::new app.run(cgi) app.teardown ----------------------------------------------------------- = 参考資料 PerlのCGI::Applicationモジュール(のドキュメント)を参考にしてます。 (http://member.nifty.ne.jp/hippo2000/perltips/CGI/Application.htm) # 拙作tmplcと組み合わせて使うとMVCの V+C が簡単に作成できます。 -- MoonWolf