Class: Mechanize::Form::Option

Inherits:
Object
  • Object
show all
Defined in:
lib/mechanize/form/option.rb

Overview

This class contains an option found within SelectList. A SelectList can have many Option classes associated with it. An option can be selected by calling Option#tick, or Option#click.

To select the first option in a list:

select_list.first.tick

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node, select_list) ⇒ Option

Returns a new instance of Option.



16
17
18
19
20
21
# File 'lib/mechanize/form/option.rb', line 16

def initialize(node, select_list)
  @text     = node.inner_text
  @value    = Mechanize::Util.html_unescape(node['value'] || node.inner_text)
  @selected = node.has_attribute? 'selected'
  @select_list = select_list # The select list this option belongs to
end

Instance Attribute Details

#select_listObject (readonly)

Returns the value of attribute select_list.



11
12
13
# File 'lib/mechanize/form/option.rb', line 11

def select_list
  @select_list
end

#selectedObject (readonly) Also known as: selected?

Returns the value of attribute selected.



11
12
13
# File 'lib/mechanize/form/option.rb', line 11

def selected
  @selected
end

#textObject (readonly)

Returns the value of attribute text.



11
12
13
# File 'lib/mechanize/form/option.rb', line 11

def text
  @text
end

#valueObject (readonly) Also known as: to_s

Returns the value of attribute value.



11
12
13
# File 'lib/mechanize/form/option.rb', line 11

def value
  @value
end

Instance Method Details

#clickObject

Toggle the selection value of this option



38
39
40
41
# File 'lib/mechanize/form/option.rb', line 38

def click
  unselect_peers
  @selected = !@selected
end

#selectObject Also known as: tick

Select this option



24
25
26
27
# File 'lib/mechanize/form/option.rb', line 24

def select
  unselect_peers
  @selected = true
end

#unselectObject Also known as: untick

Unselect this option



30
31
32
# File 'lib/mechanize/form/option.rb', line 30

def unselect
  @selected = false
end