From: "金光雅夫 (KANEMITSU Masao)" Date: 2002-09-22T16:43:15+09:00 Subject: [ruby-list:35991] Re: Cookie 金光です。どもっ。 On Sun, 22 Sep 2002 14:12:47 +0900 Shinji Miura wrote: > > > # 一つ思い付いたのですが、マーシャリング機能を用いて > > > # 色々なdatabase_managerに接続できるようなクラスを作っても > > > # おもしろいかもしれません。 > > > 「三浦真磁」 > > > snj@users.sourceforge.jp > > > > すばらしいっ!!! > > > ちょっとネタで作ってみました。 > > 動作にはCGI及びCGI::Sessionが必要です。 > 基本的にCGI::Sessionと同じ使い方ですが、唯一の異なる点が > これ一つであらゆるdatabase_managerで文字列以外のオブジェクトを > 扱えてしまう点です。 すげぇ!!! > CGI::Session.new ( ... )とする代わりに > CGI::Session::WithMarshaling.new ( ... )として下さい。 > > 仕組みはオリジナルのCGI::Sessionを委譲先にして > []メソッドと[]=メソッドを呼び出す際、その中でキーに対応する > 値を対象にマーシャリング機能を使用しています。また、 > そのままではコントロールコードが含まれているため > CGIクラスのURLエンコード・デコード機能も用いています。 ruby-list 万歳!!! > > とりあえずdatabase_managerはFileStoreで動作確認を取ってますが > 冗談にもテストが十分とは言えない状態です。しかし理論上、 > 文字列を扱えるdatabase_managerではIOクラスのインスタンス、特異オブジェクト > 以外の全ての型のオブジェクトを扱えるようになるはずです。 > > 注意点はマーシャルダンプした値以外がデータベース中に混ざらないようにとか、 > セッションを復元する際の型の確認とか、そのあたりになると思います。 > 後、欠点はわずかに処理が遅くなるとか…。 追試してみます。ありがとうございます。 るびきちさん、ご検討宜しくお願いします (_ _) M.Kanemitsu ——————————————— 金光雅夫 masao-k@a-net.email.ne.jp http://www.masao-k.net http://isweb14.infoseek.co.jp/art/soshikon/ http://isweb15.infoseek.co.jp/computer/ruby256/ 〒216-0031 川崎市宮前区神木本町5-14-12 自宅: 044-877-5006 携帯: 090-2753-5292