Module: CGI::QueryExtension

Defined in:
lib/cgi.rb

Overview

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.

Defined Under Namespace

Modules: Value

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#cookiesObject

Get the cookies as a hash of cookie-name=>Cookie pairs.



961
962
963
# File 'lib/cgi.rb', line 961

def cookies
  @cookies
end

#paramsObject

Get the parameters as a hash of name=>values pairs, where values is an Array.



965
966
967
# File 'lib/cgi.rb', line 965

def params
  @params
end

Instance Method Details

#[](key) ⇒ Object

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.



1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
# 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

#has_key?(*args) ⇒ Boolean Also known as: key?, include?

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

Returns:

  • (Boolean)


1195
1196
1197
# File 'lib/cgi.rb', line 1195

def has_key?(*args)
  @params.has_key?(*args)
end

#keys(*args) ⇒ Object

Return all parameter keys as an array.



1190
1191
1192
# File 'lib/cgi.rb', line 1190

def keys(*args)
  @params.keys(*args)
end

#multipart?Boolean

Returns:

  • (Boolean)


1138
1139
1140
# File 'lib/cgi.rb', line 1138

def multipart?
  @multipart
end

Get the raw cookies as a string.



951
952
953
# File 'lib/cgi.rb', line 951

def raw_cookie
  env_table["HTTP_COOKIE"]
end

#raw_cookie2Object

Get the raw RFC2965 cookies as a string.



956
957
958
# File 'lib/cgi.rb', line 956

def raw_cookie2
  env_table["HTTP_COOKIE2"]
end