Métodos CGI en Ruby

La siguiente es la lista de métodos de la clase CGI:

No.Descripción del método
1CGI::new([ level="query"])
Crea un objeto CGI. query puede ser uno de los siguientes valores:
  • query:Sin salida de generación de HTML

  • html3: HTML3.2

  • html4: HTML4.0 Strict

  • html4Tr: HTML4.0 Transitional

  • html4Fr: HTML4.0 Frameset

2CGI::escape( str)
Escapa cadenas usando codificación URL
3CGI::unescape( str)
Decodifica cadenas codificadas mediante escape().
4CGI::escapeHTML( str)
Codifica caracteres especiales HTML, incluyendo: & < >.
5CGI::unescapeHTML( str)
Decodifica caracteres especiales HTML, incluyendo: & < >.
6CGI::escapeElement( str[, element...])
Codifica caracteres especiales HTML en el elemento HTML especificado.
7CGI::unescapeElement( str, element[, element...])
Decodifica caracteres especiales HTML en el elemento HTML especificado.
8CGI::parse( query)
Analiza la cadena de consulta y devuelve un hash que contiene pares clave => valor.
9CGI::pretty( string[, leader=" "])
Devuelve HTML con formato ordenado. Si se especificaleader, se escribirá al inicio de cada línea.leaderEl valor predeterminado son dos espacios.
10CGI::rfc1123_date( time)
Formatea el tiempo según RFC-1123 (por ejemplo, Tue, 2 Jun 2008 00:00:00 GMT).

Métodos de instancia de CGI

En el siguiente ejemplo, asignamos el objeto CGI::new a la variable c. La lista de métodos es la siguiente:

No.Descripción del método
1c[ name]
Devuelve un array que contiene el valor correspondiente al campo llamadonameel valor.
2c.checkbox( name[, value[, check=false]])
c.checkbox( options)

Devuelve una cadena HTML para definir un campo checkbox. Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.
3c.checkbox_group( name, value...)
c.checkbox_group( options)

>Devuelve una cadena HTML para definir un grupo de checkboxes. Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.
4c.file_field( name[, size=20[, max]])
c.file_field( options)

Devuelve una cadena HTML que define un campo file.
5c.form([ method="post"[, url]]) { ...}
c.form( options)

Devuelve una cadena HTML que define un formulario form. Si se especifica un bloque de código, se generará como contenido del formulario. Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.
6c.cookies
Devuelve un objeto CGI::Cookie que contiene los pares clave-valor de la cookie.
7c.header([ header])
Devuelve la información de la cabecera CGI. Si el parámetro header es un hash, sus pares clave-valor se utilizan para crear la cabecera.
8c.hidden( name[, value])
c.hidden( options)

Devuelve una cadena HTML que define un campo oculto. Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.
9c.image_button( url[, name[, alt]])
c.image_button( options)

Devuelve una cadena HTML que define un botón de imagen. Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.
10c.keys
Devuelve un array que contiene los nombres de los campos del formulario.
11c.key?( name)
c.has_key?( name)
c.include?( name)

Devuelve true si el formulario contiene el campo especificado.
12c.multipart_form([ url[, encode]]) { ...}
c.multipart_form( options) { ...}

Devuelve una cadena HTML que define un formulario multimedia (multipart). Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.
13c.out([ header]) { ...}
Genera HTML y lo envía. Utiliza la cadena generada por la salida del bloque para crear el cuerpo de la página.
14c.params
Devuelve un hash que contiene los nombres y valores de los campos del formulario.
15c.params= hash
Establece el nombre de campo y el valor utilizados.
16c.password_field( name[, value[, size=40[, max]]])
c.password_field( options)

Devuelve una cadena HTML que define un campo password. Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.
17c.popup_menu( name, value...)
c.popup_menu( options)
c.scrolling_list( name, value...)
c.scrolling_list( options)

Devuelve una cadena HTML que define un menú emergente. Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.
18c.radio_button( name[, value[, checked=false]])
c.radio_button( options)

Devuelve una cadena HTML que define un campo radio. Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.
19c.radio_group( name, value...)
c.radio_group( options)

Devuelve una cadena HTML que define un grupo de botones radio. Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.
20c.reset( name[, value])
c.reset( options)

Devuelve una cadena HTML que define un botón reset. Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.
21c.text_field( name[, value[, size=40[, max]]])
c.text_field( options)

Devuelve una cadena HTML que define un campo text. Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.
22c.textarea( name[, cols=70[, rows=10]]) { ...}
c.textarea( options) { ...}

Devuelve una cadena HTML que define un campo textarea. Si se especifica un bloque, la cadena de salida del bloque se utilizará como contenido del textarea. Los atributos de la etiqueta pueden pasarse como argumento mediante un hash.

Métodos de generación de HTML

Puedes usar los nombres de etiquetas HTML correspondientes en una instancia de CGI para crear etiquetas HTML. Ejemplo:

Ejemplo

#!/usr/bin/ruby require "cgi" cgi = CGI.new("html4") cgi.out{ cgi.html{ cgi.head{ "\n"+cgi.title{"This Is a Test"} } + cgi.body{ "\n"+ cgi.form{"\n"+ cgi.hr + cgi.h1 { "A Form: " } + "\n"+ cgi.textarea("get_text") +"\n"+ cgi.br + cgi.submit } } } }

Atributos del objeto CGI

Puedes usar los siguientes atributos en la instancia de CGI:

AtributoValor de retorno
acceptTipos MIME aceptables
accept_charsetConjuntos de caracteres aceptables
accept_encodingCodificaciones aceptables
accept_languageIdiomas aceptables
auth_typeTipos aceptables
raw_cookieDatos de cookie (cadena original)
content_lengthLongitud del contenido (Content length)
content_typeTipo de contenido (Content type)
FromDirección de correo electrónico del cliente
gateway_interfaceVersión de CGI
path_infoRuta
path_translatedRuta traducida
Query_stringCadena de consulta
refererURL visitada anteriormente
remote_addrDirección del host del cliente (IP)
remote_hostNombre del host del cliente
remote_identNombre del cliente
remote_userUsuario autenticado
request_methodMétodo de solicitud (GET, POST, etc.)
script_nameNombre del parámetro
server_nameNombre del servidor
server_portPuerto del servidor
server_protocolProtocolo del servidor
server_softwareSoftware del servidor
user_agentAgente de usuario (User agent)
Otras extensiones