class Mechanize::Form::Field

This class represents a field in a form. It handles the following input tags found in a form:

To set the value of a field, just use the value method:

field.value = "foo"

Attributes

index[RW]

index is used to maintain order for fields with Hash nodes

name[RW]
node[RW]
raw_value[R]

This fields value before it's sent through Util.html_unescape.

type[RW]
value[RW]

Public Class Methods

new(node, value = node['value']) click to toggle source
# File lib/mechanize/form/field.rb, line 27
def initialize node, value = node['value']
  @node = node
  @name = Mechanize::Util.html_unescape(node['name'])
  @raw_value = value
  @value = if value.is_a? String
             Mechanize::Util.html_unescape(value)
           else
             value
           end

  @type = node['type']
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/mechanize/form/field.rb, line 44
def <=> other
  return 0 if self == other

  # If both are hashes, sort by index
  if Hash === node && Hash === other.node && index
    return index <=> other.index
  end

  # Otherwise put Hash based fields at the end
  return 1 if Hash === node
  return -1 if Hash === other.node

  # Finally let nokogiri determine sort order
  node <=> other.node
end
at() click to toggle source

Shorthand for node.at.

See also Nokogiri::XML::Node#at for details.

# File lib/mechanize/form/field.rb, line 100
  
at_css() click to toggle source

Shorthand for node.at_css.

See also Nokogiri::XML::Node#at_css for details.

# File lib/mechanize/form/field.rb, line 107
  
at_xpath() click to toggle source

Shorthand for node.at_xpath.

See also Nokogiri::XML::Node#at_xpath for details.

# File lib/mechanize/form/field.rb, line 114
def_delegators :node, :search, :css, :xpath, :at, :at_css, :at_xpath
css() click to toggle source

Shorthand for node.css.

See also Nokogiri::XML::Node#css for details.

# File lib/mechanize/form/field.rb, line 86
  
dom_class() click to toggle source

This method is a shortcut to get field's DOM class. Common usage: form.field_with(:dom_class => “foo”)

# File lib/mechanize/form/field.rb, line 68
def dom_class
  node['class']
end
dom_id() click to toggle source

This method is a shortcut to get field's DOM id. Common usage: form.field_with(:dom_id => “foo”)

# File lib/mechanize/form/field.rb, line 62
def dom_id
  node['id']
end
query_value() click to toggle source
# File lib/mechanize/form/field.rb, line 40
def query_value
  [[@name, @value || '']]
end
xpath() click to toggle source

Shorthand for node.xpath.

See also Nokogiri::XML::Node#xpath for details.

# File lib/mechanize/form/field.rb, line 93