なかだです。

At Tue, 26 Sep 2006 12:52:43 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:29605]:
> |cgi.rb全体としてみると、「methodとenctypeだけ」じゃなくてHashで渡して
> |いるものすべてですね。"method"と"Method"があったらどうするかとか考える
> |とめんどうなことになりそうなので、エラーにしてしまうほうがいいような気
> |もします。
>
> たぶんattributeになるHashすべてをどこかで正規化する必要があ
> るんでしょうね。いつやるかなあ。

cgi.rbを捨てるとき?


Index: lib/cgi.rb =================================================================== RCS file: /pub/cvs/ruby/lib/cgi.rb,v retrieving revision 1.68.2.18 diff -U 2 -p -u -r1.68.2.18 cgi.rb --- lib/cgi.rb 23 Sep 2006 12:47:11 -0000 1.68.2.18 +++ lib/cgi.rb 26 Sep 2006 04:27:21 -0000 @@ -1543,10 +1543,6 @@ class CGI "ENCTYPE" => enctype } else - unless method.has_key?("METHOD") - method["METHOD"] = "post" - end - unless method.has_key?("ENCTYPE") - method["ENCTYPE"] = enctype - end + method["METHOD"] ||= "post" + method["ENCTYPE"] ||= enctype method end @@ -1637,4 +1633,12 @@ class CGI attributes = { "PRETTY" => true } end + canonical = {} + attributes.each {|key, value| + if old = canonical[upper = key.upcase] + raise ArgumentError, + "duplcate keys in different cases: #{old} and #{key}" + end + canonical[upper] = key + end pretty = attributes.delete("PRETTY") pretty = " " if true == pretty
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦