Module CGI::QueryExtension
In: lib/cgi.rb

Mixin module. It provides the follow functionality groups:

  1. Access to CGI environment variables as methods. See documentation to the CGI class for a list of these variables.
  2. Access to cookies, including the cookies attribute.
  3. Access to parameters, including the params attribute, and overloading
    to perform parameter value lookup by key.
  4. The initialize_query method, for initialising the above mechanisms, handling multipart forms, and allowing the class to be used in "offline" mode.

Methods

[]   has_key?   include?   key?   keys   multipart?   params=   raw_cookie   raw_cookie2  

External Aliases

path -> local_path

Attributes

cookies  [RW]  Get the cookies as a hash of cookie-name=>Cookie pairs.
params  [R]  Get the parameters as a hash of name=>values pairs, where values is an Array.

Public Instance methods

Get the value for the parameter with a given key.

If the parameter has multiple values, only the first will be retrieved; use params() to get the array of values.

[Source]

# File lib/cgi.rb, line 1169
    def [](key)
      params = @params[key]
      return '' unless params
      value = params[0]
      if @multipart
        if value
          return value
        elsif defined? StringIO
          StringIO.new("")
        else
          Tempfile.new("CGI")
        end
      else
        str = if value then value.dup else "" end
        str.extend(Value)
        str.set_params(params)
        str
      end
    end

Returns true if a given parameter key exists in the query.

[Source]

# File lib/cgi.rb, line 1195
    def has_key?(*args)
      @params.has_key?(*args)
    end
include?(*args)

Alias for has_key?

key?(*args)

Alias for has_key?

Return all parameter keys as an array.

[Source]

# File lib/cgi.rb, line 1190
    def keys(*args)
      @params.keys(*args)
    end

[Source]

# File lib/cgi.rb, line 1138
    def multipart?
      @multipart
    end

Set all the parameters.

[Source]

# File lib/cgi.rb, line 968
    def params=(hash)
      @params.clear
      @params.update(hash)
    end

Get the raw cookies as a string.

[Source]

# File lib/cgi.rb, line 951
    def raw_cookie
      env_table["HTTP_COOKIE"]
    end

Get the raw RFC2965 cookies as a string.

[Source]

# File lib/cgi.rb, line 956
    def raw_cookie2
      env_table["HTTP_COOKIE2"]
    end

[Validate]