Module: Arachni::Element::Capabilities::DOMOnly

Includes:
Inputtable, WithAuditor, WithDOM, WithNode
Included in:
UIForm, UIInput
Defined in:
lib/arachni/element/capabilities/dom_only.rb

Overview

Author:

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

Constant Summary

Constants included from Inputtable

Inputtable::INPUTTABLE_CACHE

Instance Attribute Summary collapse

Attributes included from WithDOM

#dom, #skip_dom

Attributes included from WithSource

#source

Attributes included from Inputtable

#default_inputs, #inputs, #raw_inputs

Attributes included from WithAuditor

#auditor

Instance Method Summary collapse

Methods included from WithDOM

#skip_dom?

Methods included from WithNode

#node

Methods included from WithSource

#to_h, #to_rpc_data

Methods included from Inputtable

#[], #[]=, #changes, #has_inputs?, #inputtable_id, inputtable_id, #raw_input?, #reset, #to_h, #try_input, #update, #updated?, #valid_input_data?, #valid_input_name?, #valid_input_name_data?, #valid_input_value?, #valid_input_value_data?

Methods included from WithAuditor

#marshal_dump, #orphan?, #prepare_for_report, #remove_auditor

Instance Attribute Details

#methodObject

Returns the value of attribute method.



23
24
25
# File 'lib/arachni/element/capabilities/dom_only.rb', line 23

def method
  @method
end

Instance Method Details

#coverage_hashObject



42
43
44
# File 'lib/arachni/element/capabilities/dom_only.rb', line 42

def coverage_hash
    coverage_id.persistent_hash
end

#coverage_idObject



38
39
40
# File 'lib/arachni/element/capabilities/dom_only.rb', line 38

def coverage_id
    "#{type}:#{dom.coverage_id}"
end

#dupObject



50
51
52
53
54
# File 'lib/arachni/element/capabilities/dom_only.rb', line 50

def dup
    super.tap do |o|
        o.method = self.method
    end
end

#idObject



46
47
48
# File 'lib/arachni/element/capabilities/dom_only.rb', line 46

def id
    "#{type}:#{dom.id}"
end

#initialize(options) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/arachni/element/capabilities/dom_only.rb', line 25

def initialize( options )
    super options

    @method   = options[:method]

    self.inputs = options[:inputs]
    @default_inputs = self.inputs.dup.freeze
end

#mutation?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/arachni/element/capabilities/dom_only.rb', line 34

def mutation?
    false
end

#typeObject



56
57
58
# File 'lib/arachni/element/capabilities/dom_only.rb', line 56

def type
    self.class.type
end