class Arachni::Element::UIInput::DOM

@author Tasos “Zapotek” Laskos <tasos.laskos@arachni-scanner.com>

Public Class Methods

new( options ) click to toggle source
Calls superclass method Arachni::Element::DOM::new
# File lib/arachni/element/ui_input/dom.rb, line 24
def initialize( options )
    super

    self.method = options[:method] || self.parent.method

    if options[:inputs]
        @valid_input_name = options[:inputs].keys.first.to_s
        self.inputs       = options[:inputs]
    else
        @valid_input_name = (locator.attributes['name'] || locator.attributes['id']).to_s
        self.inputs       = {
            @valid_input_name => locator.attributes['value']
        }
    end

    @default_inputs = self.inputs.dup.freeze
end
type() click to toggle source
# File lib/arachni/element/ui_input/dom.rb, line 70
def self.type
    :ui_input_dom
end

Public Instance Methods

coverage_id() click to toggle source
# File lib/arachni/element/ui_input/dom.rb, line 59
def coverage_id
    "#{super}:#{@method}:#{locator}"
end
id() click to toggle source
# File lib/arachni/element/ui_input/dom.rb, line 63
def id
    "#{super}:#{@method}:#{locator}"
end
initialization_options() click to toggle source
# File lib/arachni/element/ui_input/dom.rb, line 74
def initialization_options
    super.merge( inputs: inputs.dup, method: @method )
end
name() click to toggle source
# File lib/arachni/element/ui_input/dom.rb, line 47
def name
    inputs.keys.first
end
trigger() click to toggle source

Submits the form using the configured {#inputs}.

# File lib/arachni/element/ui_input/dom.rb, line 43
def trigger
    [ browser.fire_event( locate, @method, value: value ) ]
end
type() click to toggle source
# File lib/arachni/element/ui_input/dom.rb, line 67
def type
    self.class.type
end
valid_input_name?( name ) click to toggle source
# File lib/arachni/element/ui_input/dom.rb, line 55
def valid_input_name?( name )
    @valid_input_name == name.to_s
end
value() click to toggle source
# File lib/arachni/element/ui_input/dom.rb, line 51
def value
    inputs.values.first
end