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 <moonwolf / moonwolf.com>