mechanize:Mechanize::Form#checkboxes_with, #checkboxes
以下のような HTML で
<html> <head> <title>form test</title> </head> <body> <form method="get" action="cgi/foo00.cgi" name="form1"> <input type="checkbox" name="checkbox1" value="foo" />Foo <input type="checkbox" name="checkbox1" value="bar" />Bar <input type="checkbox" name="checkbox1" value="baz" />Baz </form> </body> </html>
>> require 'mechanize' => true >> agent = Mechanize.new => #<Mechanize:0xb74e5540 ... >> page = agent.get('http://127.0.0.1:8080/test14_checkbox.html') => #<Mechanize::Page {url #<URI::HTTP:0xb74e1af8 URL:http://127.0.0.1:8080/test14_checkbox.html>} {meta} {title "form test"} {iframes} {frames} {links} {forms #<Mechanize::Form {name "form1"} {method "GET"} {action "cgi/foo00.cgi"} {fields} {radiobuttons} {checkboxes #<Mechanize::Form::CheckBox:0xb74d8ffc @checked=false, @name="checkbox1", @value="foo"> #<Mechanize::Form::CheckBox:0xb74d8e94 @checked=false, @name="checkbox1", @value="bar"> #<Mechanize::Form::CheckBox:0xb74d8d2c @checked=false, @name="checkbox1", @value="baz">} {file_uploads} {buttons}>}> >> f = page.form('form1') => #<Mechanize::Form {name "form1"} {method "GET"} {action "cgi/foo00.cgi"} {fields} {radiobuttons} {checkboxes #<Mechanize::Form::CheckBox:0xb74d8ffc @checked=false, @name="checkbox1", @value="foo"> #<Mechanize::Form::CheckBox:0xb74d8e94 @checked=false, @name="checkbox1", @value="bar"> #<Mechanize::Form::CheckBox:0xb74d8d2c @checked=false, @name="checkbox1", @value="baz">} {file_uploads} {buttons}> >> f.checkboxes_with => [#<Mechanize::Form::CheckBox:0xb74d8ffc @checked=false, @name="checkbox1", @value="foo", @form=#<Mechanize::Form {name "form1"} {method "GET"} {action "cgi/foo00.cgi"} {fields} {radiobuttons} {checkboxes #<Mechanize::Form::CheckBox:0xb74d8ffc @checked=false, @name="checkbox1", @value="foo"> #<Mechanize::Form::CheckBox:0xb74d8e94 @checked=false, @name="checkbox1", @value="bar"> #<Mechanize::Form::CheckBox:0xb74d8d2c @checked=false, @name="checkbox1", @value="baz">} {file_uploads} {buttons}> , @node=#<Nokogiri::XML::Element:0x..fdba6c876 name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba64694 name="type" value="checkbox">, #<Nokogiri::XML::Attr:0x..fdba6468a name="name" value="checkbox1">, #<Nokogiri::XML::Attr:0x..fdba64680 name="value" value="foo">]>>, #<Mechanize::Form::CheckBox:0xb74d8e94 @checked=false, @name="checkbox1", @value="bar", @form=#<Mechanize::Form {name "form1"} {method "GET"} {action "cgi/foo00.cgi"} {fields} {radiobuttons} {checkboxes #<Mechanize::Form::CheckBox:0xb74d8ffc @checked=false, @name="checkbox1", @value="foo"> #<Mechanize::Form::CheckBox:0xb74d8e94 @checked=false, @name="checkbox1", @value="bar"> #<Mechanize::Form::CheckBox:0xb74d8d2c @checked=false, @name="checkbox1", @value="baz">} {file_uploads} {buttons}> , @node=#<Nokogiri::XML::Element:0x..fdba6c826 name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba62326 name="type" value="checkbox">, #<Nokogiri::XML::Attr:0x..fdba6231c name="name" value="checkbox1">, #<Nokogiri::XML::Attr:0x..fdba62312 name="value" value="bar">]>>, #<Mechanize::Form::CheckBox:0xb74d8d2c @checked=false, @name="checkbox1", @value="baz", @form=#<Mechanize::Form {name "form1"} {method "GET"} {action "cgi/foo00.cgi"} {fields} {radiobuttons} {checkboxes #<Mechanize::Form::CheckBox:0xb74d8ffc @checked=false, @name="checkbox1", @value="foo"> #<Mechanize::Form::CheckBox:0xb74d8e94 @checked=false, @name="checkbox1", @value="bar"> #<Mechanize::Form::CheckBox:0xb74d8d2c @checked=false, @name="checkbox1", @value="baz">} {file_uploads} {buttons}> , @node=#<Nokogiri::XML::Element:0x..fdba6c772 name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba5ffb8 name="type" value="checkbox">, #<Nokogiri::XML::Attr:0x..fdba5ffae name="name" value="checkbox1">, #<Nokogiri::XML::Attr:0x..fdba5ffa4 name="value" value="baz">]>>] >> f.checkboxes => [#<Mechanize::Form::CheckBox:0xb74d8ffc @checked=false, @name="checkbox1", @value="foo", @form=#<Mechanize::Form {name "form1"} {method "GET"} {action "cgi/foo00.cgi"} {fields} {radiobuttons} {checkboxes #<Mechanize::Form::CheckBox:0xb74d8ffc @checked=false, @name="checkbox1", @value="foo"> #<Mechanize::Form::CheckBox:0xb74d8e94 @checked=false, @name="checkbox1", @value="bar"> #<Mechanize::Form::CheckBox:0xb74d8d2c @checked=false, @name="checkbox1", @value="baz">} {file_uploads} {buttons}> , @node=#<Nokogiri::XML::Element:0x..fdba6c876 name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba64694 name="type" value="checkbox">, #<Nokogiri::XML::Attr:0x..fdba6468a name="name" value="checkbox1">, #<Nokogiri::XML::Attr:0x..fdba64680 name="value" value="foo">]>>, #<Mechanize::Form::CheckBox:0xb74d8e94 @checked=false, @name="checkbox1", @value="bar", @form=#<Mechanize::Form {name "form1"} {method "GET"} {action "cgi/foo00.cgi"} {fields} {radiobuttons} {checkboxes #<Mechanize::Form::CheckBox:0xb74d8ffc @checked=false, @name="checkbox1", @value="foo"> #<Mechanize::Form::CheckBox:0xb74d8e94 @checked=false, @name="checkbox1", @value="bar"> #<Mechanize::Form::CheckBox:0xb74d8d2c @checked=false, @name="checkbox1", @value="baz">} {file_uploads} {buttons}> , @node=#<Nokogiri::XML::Element:0x..fdba6c826 name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba62326 name="type" value="checkbox">, #<Nokogiri::XML::Attr:0x..fdba6231c name="name" value="checkbox1">, #<Nokogiri::XML::Attr:0x..fdba62312 name="value" value="bar">]>>, #<Mechanize::Form::CheckBox:0xb74d8d2c @checked=false, @name="checkbox1", @value="baz", @form=#<Mechanize::Form {name "form1"} {method "GET"} {action "cgi/foo00.cgi"} {fields} {radiobuttons} {checkboxes #<Mechanize::Form::CheckBox:0xb74d8ffc @checked=false, @name="checkbox1", @value="foo"> #<Mechanize::Form::CheckBox:0xb74d8e94 @checked=false, @name="checkbox1", @value="bar"> #<Mechanize::Form::CheckBox:0xb74d8d2c @checked=false, @name="checkbox1", @value="baz">} {file_uploads} {buttons}> , @node=#<Nokogiri::XML::Element:0x..fdba6c772 name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba5ffb8 name="type" value="checkbox">, #<Nokogiri::XML::Attr:0x..fdba5ffae name="name" value="checkbox1">, #<Nokogiri::XML::Attr:0x..fdba5ffa4 name="value" value="baz">]>>]
複数形の _with の場合は、「attr_reader :fields, :buttons, :file_uploads, :radiobuttons, :checkboxes」があるので _with の alias ではないらしい〜(なので引数は取れないはず)