Ruby CGI Useful Methods
Advertisements
CGI Class Methods:
Here is a list of CGI Class methods:
| SN | Methods with Description |
|---|---|
| 1 | CGI::new([ level="query"]) Creates a CGI object. level may be one of the following options. If one of the HTML levels is specified, the following methods are defined for generating output conforming to that level:
|
| 2 | CGI::escape( str) Escapes an unsafe string using URL-encoding. |
| 3 | CGI::unescape( str) Expands a string that has been escaped using URL-encoding. |
| 4 | CGI::escapeHTML( str) Escapes HTML special characters, including: & < >. |
| 5 | CGI::unescapeHTML( str) Expands escaped HTML special characters, including: & < >. |
| 6 | CGI::escapeElement( str[, element...]) Escapes HTML special characters in the specified HTML elements. |
| 7 | CGI::unescapeElement( str, element[, element...]) Expands escaped HTML special characters in the specified HTML elements. |
| 8 | CGI::parse( query) Parses the query and returns a hash containing its key-value pairs. |
| 9 | CGI::pretty( string[, leader=" "]) Returns a neatly formatted version of the HTML string. If leader is specified, it's written at the beginning of each line. The default value for leader is two spaces. |
| 10 | CGI::rfc1123_date( time) Formats the data and time according to RFC-1123 (for example, Tue, 2 Jun 2008 00:00:00 GMT). |
CGI Instance Methods:
Assuming c is an instance created by CGI::new. Now here is a list of methods which can be applied to this instance:
| SN | Methods with Description |
|---|---|
| 1 | c[ name] Returns an array containing the value of the field name corresponding to name. |
| 2 | c.checkbox( name[, value[, check=false]]) c.checkbox( options) Returns an HTML string defining a checkbox field. Tag attributes may be specified in a hash passed as an argument. |
| 3 | c.checkbox_group( name, value...) c.checkbox_group( options) Returns an HTML string defining a checkbox group. Tag attributes may be specified in a hash passed as an argument. |
| 4 | c.file_field( name[, size=20[, max]]) c.file_field( options) Returns an HTML string defining a file field. |
| 5 | c.form([ method="post"[, url]]) { ...} c.form( options) Returns an HTML string defining a form. If a block is specified, the string produced by its output creates the contents of the form. Tag attributes may be specified in a hash passed as an argument. |
| 6 | c.cookies Returns a hash containing a CGI::Cookie object containing keys and values from a cookie. |
| 7 | c.header([ header]) Returns a CGI header containing the information in header. If header is a hash, its key-value pairs are used to create the header. |
| 8 | c.hidden( name[, value]) c.hidden( options) Returns an HTML string defining a HIDDEN field. Tag attributes may be specified in a hash passed as an argument. |
| 9 | c.image_button( url[, name[, alt]]) c.image_button( options) Returns an HTML string defining an image button. Tag attributes may be specified in a hash passed as an argument. |
| 10 | c.keys Returns an array containing the field names from the form. |
| 11 | c.key?( name) c.has_key?( name) c.include?( name) Returns true if the form contains the specified field name. |
| 12 | c.multipart_form([ url[, encode]]) { ...} c.multipart_form( options) { ...} Returns an HTML string defining a multipart form. If a block is specified, the string produced by its output creates the contents of the form. Tag attributes may be specified in a hash passed as an argument. |
| 13 | c.out([ header]) { ...} Generates HTML output. Uses the string produced by the block's output to create the body of the page. |
| 14 | c.params Returns a hash containing field names and values from the form. |
| 15 | c.params= hash Sets field names and values in the form using a hash. |
| 16 | c.password_field( name[, value[, size=40[, max]]]) c.password_field( options) Returns an HTML string defining a password field. Tag attributes may be specified in a hash passed as an argument. |
| 17 | c.popup_menu( name, value...) c.popup_menu( options) c.scrolling_list( name, value...) c.scrolling_list( options) Returns an HTML string defining a pop-up menu. Tag attributes may be specified in a hash passed as an argument. |
| 18 | c.radio_button( name[, value[, checked=false]]) c.radio_button( options) Returns an HTML string defining a radio button. Tag attributes may be specified in a hash passed as an argument. |
| 19 | c.radio_group( name, value...) c.radio_group( options) Returns an HTML string defining a radio button group. Tag attributes may be specified in a hash passed as an argument. |
| 20 | c.reset( name[, value]) c.reset( options) Returns an HTML string defining a reset button. Tag attributes may be specified in a hash passed as an argument. |
| 21 | c.text_field( name[, value[, size=40[, max]]]) c.text_field( options) Returns an HTML string defining a text field. Tag attributes may be specified in a hash passed as an argument. |
| 22 | c.textarea( name[, cols=70[, rows=10]]) { ...} c.textarea( options) { ...} Returns an HTML string defining a text area. If a block is specified, the string produced by its output creates the contents of the text area. Tag attributes may be specified in a hash passed as an argument. |
HTML Generation Methods:
You can create any HTML tag by using corresponding HTML tag name along with any CGI instance. For example:
#!/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
}
}
}
}
CGI Object Attributes:
You can access any of the following attributes using a CGI instance:
| Attribute | Returned Value |
|---|---|
| accept | Acceptable MIME type |
| accept_charset | Acceptable character set |
| accept_encoding | Acceptable encoding |
| accept_language | Acceptable language |
| auth_type | Authentication type |
| raw_cookie | Cookie data (raw string) |
| content_length | Content length |
| content_type | Content type |
| From | Client email address |
| gateway_interface | CGI version string |
| path_info | Extra path |
| path_translated | Converted extra path |
| Query_string | Query string |
| referer | Previously accessed URL |
| remote_addr | Client host address |
| remote_host | Client hostname |
| remote_ident | Client name |
| remote_user | Authenticated user |
| request_method | Request method (GET, POST, etc.) |
| script_name | Program name |
| server_name | Server name |
| server_port | Server port |
| server_protocol | Server protocol |
| server_software | Server software |
| user_agent | User agent |