[#6862] Re: http_get.rb — 青山 和光 <PXN11625@...>

In-Reply-To: [ruby-list:6844] Re: http_get.rb

15 messages 1998/03/01

[#6906] ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...>

藤本です、こんにちは。

25 messages 1998/03/03
[#6907] Re: ruby's Icon ? — matz@... (Yukihiro Matsumoto) 1998/03/03

まつもと ゆきひろです

[#6908] Re: ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/03/03

藤本です、こんにちは。

[#6911] Re: ruby's Icon ? — OZAWA Sakuro <ozawa@...> 1998/03/03

小澤さくです。

[#6912] Re: ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/03/03

藤本です、こんにちは。

[#6914] Re: ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/03/03

藤本です、こんばんは。

[#6918] manual 1.18b index — WATANABE Tetsuya <tetsu@...>

ruby-man-1.1b8 で、name タグがついているものを拾い集めて

17 messages 1998/03/04
[#6921] Re: manual 1.18b index — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#6954] Re: ruby's Icon ? — nosuzuki@... (Norio Suzuki)

こんばんは。鈴木教郎です。

18 messages 1998/03/04
[#6964] Re: ruby's Icon ? — matz@... (Yukihiro Matsumoto) 1998/03/05

まつもと ゆきひろです

[#7023] infinity — Tadayoshi Funaba <tadf@...>

ふなばです。

41 messages 1998/03/09
[#7029] Re: infinity — shugo@... (Shugo Maeda) 1998/03/09

前田です。

[#7033] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/09

けいじゅ@日本ラショナルソフトウェアです.

[#7041] Re: infinity — Kazuhisa YANAGAWA <katze@...> 1998/03/10

In message <199803091741.CAA05774.keiju@cupmail0.rational.com>

[#7048] Re: infinity — keiju@... (Keiju ISHITSUKA) 1998/03/10

けいじゅ@日本ラショナルソフトウェアです.

[#7049] Re: infinity — matz@... (Yukihiro Matsumoto) 1998/03/10

まつもと ゆきひろです

[#7051] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/10

けいじゅ@日本ラショナルソフトウェアです.

[#7054] Re: infinity — matz@... (Yukihiro Matsumoto) 1998/03/10

まつもと ゆきひろです

[#7050] Re: infinity — Kazuhisa YANAGAWA <katze@...> 1998/03/10

In message <199803100359.MAA08628.keiju@cupmail0.rational.com>

[#7259] Socket#shutdown — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

16 messages 1998/03/28
[#7260] Re: Socket#shutdown — matz@... (Yukihiro Matsumoto) 1998/03/28

まつもと ゆきひろです

[#7265] Re: Socket#shutdown — keiju@... (石塚圭樹 ) 1998/03/29

けいじゅ@日本ラショナルソフトウェアです.

[ruby-list:7175] Re: CGI#include?

From: 青山 和光 <PXN11625@...>
Date: 1998-03-19 23:30:18 UTC
List: ruby-list #7175
In-Reply-To: [ruby-list:7172] Re: CGI#include?

前田さん、おはようございます。

>>[ruby-list:7172] Re: CGI#include?
>>From: shugo@po.aianet.ne.jp (Shugo Maeda)
>>
>>$query->textarea('foo')のようなHTMLの整形用のメソッドはCGIと別クラス
>>(あるいはモジュール)を用意した方が良いのではないでしょうか。

そうなんですよね。ここが迷うところです。

Perl の場合、別にわけたライブラリ HTML::* もあるわけですが、どうするの
がいいかな、という話をいぜんちょっとだけアップしましたが、何も反応が無
かったので、今回はとりあえず CGI 関係は CGI.pm のよう1つにまとまって
いた方がユーザーには便利かなという方向で書いてみました。

しかし、

>>それはさておき、query["foo"]というのは可読性を犠牲にしない程度に短く
>>書けるRubyのポリシーに合っていると思うので、obsoleteになってしまうの
>>はちょっとさみしいです。

これも納得できますし、出力用のは使わない人もいるでしょうから(現在は無
いわけですし)、別に分けてもさほど不便では無いかもしれないので、
cgi-lib.rb は CGI の入力だけを扱うようにしても良さそうですね。

ということで、delegate.rb 使用版にしてみました。delegate.rb は良く見て
いないので、これの使い方にはちょっと不安がありますが。

(出力も扱った方が良いという案のある方は、そちらの案もお聞かせ下さい。
もし出力も扱うなら、やはり query.inputs タイプを推奨していく方が良いと
思われますので。)


--- cgi-lib.rb.org	Fri Mar 20 06:17:00 1998
+++ cgi-lib.rb	Fri Mar 20 07:19:01 1998
@@ -7,14 +7,16 @@
 # foo = CGI.new
 # foo['field']   <== value of 'field'
 # foo.keys       <== array of fields
-# foo.inputs     <== hash of { <field> => <value> }
+# and foo has Hash class methods
 
 # if running on Windows(IIS or PWS) then change cwd.
 if ENV['SERVER_SOFTWARE'] =~ /^Microsoft-/ then
   Dir.chdir ENV['PATH_TRANSLATED'].sub(/[^\\]+$/, '')
 end
 
-class CGI
+require "delegate"
+
+class CGI < SimpleDelegator
 
   attr("inputs")
 
@@ -61,16 +63,10 @@
       key, val = x.split(/=/,2).collect{|x|unescape(x)}
       @inputs[key] += ("\0" if @inputs[key]) + (val or "")
     end
-  end
 
-  def keys
-    @inputs.keys
+    super(@inputs)
   end
 
-  def [](key)
-    @inputs[key]
-  end
-  
   def CGI.message(msg, title = "")
     print "Content-type: text/html\n\n"
     print "<html><head><title>"


青山 和光 Wakou Aoyama <pxn11625@niftyserve.or.jp>

In This Thread

Prev Next