* lib/cgi.rb (CGI::QueryExtension::[]): no more transition

extend(CGI::Value).  a patch from <tommy AT tmtm.org> in
  [ruby-dev:33583].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2008-02-04 00:02:53 +00:00
parent 8f655cec3d
commit 50f6e01b44
3 changed files with 9 additions and 28 deletions

View file

@ -1178,29 +1178,6 @@ class CGI
@multipart
end
module Value # :nodoc:
def set_params(params)
@params = params
end
def [](idx, *args)
if args.size == 0
warn "#{caller(1)[0]}:CAUTION! cgi['key'] == cgi.params['key'][0]; if want Array, use cgi.params['key']"
@params[idx]
else
super[idx,*args]
end
end
def first
warn "#{caller(1)[0]}:CAUTION! cgi['key'] == cgi.params['key'][0]; if want Array, use cgi.params['key']"
self
end
alias last first
def to_a
@params || [self]
end
alias to_ary to_a # to be rhs of multiple assignment
end
# Get the value for the parameter with a given key.
#
# If the parameter has multiple values, only the first will be
@ -1219,8 +1196,6 @@ class CGI
end
else
str = if value then value.dup else "" end
str.extend(Value)
str.set_params(params)
str
end
end