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 25
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 42
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
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 66
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 60
def dom_id
  node['id']
end
query_value() click to toggle source
# File lib/mechanize/form/field.rb, line 38
def query_value
  [[@name, @value || '']]
end