Class: Arachni::OptionGroup
Direct Known Subclasses
Arachni::OptionGroups::Audit, Arachni::OptionGroups::BrowserCluster, Arachni::OptionGroups::Datastore, Arachni::OptionGroups::Dispatcher, Arachni::OptionGroups::HTTP, Arachni::OptionGroups::Input, Arachni::OptionGroups::Output, Arachni::OptionGroups::Paths, Arachni::OptionGroups::RPC, Arachni::OptionGroups::Scope, Arachni::OptionGroups::Session, Arachni::OptionGroups::Snapshot
Defined Under Namespace
Classes: Error
Class Method Summary collapse
- .attr_accessor(*vars) ⇒ Object
- .attributes ⇒ Object
-
.defaults ⇒ Hash
Specified default values for attribute readers.
- .inherited(child) ⇒ Object
-
.set_defaults(default_values) ⇒ Object
Sets default values for attribute readers, when an attribute reader returns ‘nil` the default values will be returned instead.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #attributes ⇒ Object
-
#defaults ⇒ Hash
Specified default values for attribute readers.
- #hash ⇒ Object
-
#initialize ⇒ OptionGroup
constructor
A new instance of OptionGroup.
-
#merge(other) ⇒ OptionGroup
‘self`.
-
#to_h ⇒ Hash
Values for all attribute accessors which aren’t the defaults.
- #to_hash ⇒ Object
- #to_rpc_data ⇒ Object
-
#update(options) ⇒ OptionGroup
‘self`.
-
#validate ⇒ Hash
abstract
Hash of errors with the name of the invalid options as the keys.
Constructor Details
#initialize ⇒ OptionGroup
Returns a new instance of OptionGroup.
50 51 52 53 54 |
# File 'lib/arachni/option_group.rb', line 50 def initialize defaults.each do |k, v| send "#{k}=", v end end |
Class Method Details
.attr_accessor(*vars) ⇒ Object
118 119 120 121 |
# File 'lib/arachni/option_group.rb', line 118 def self.attr_accessor( *vars ) attributes.concat( vars ) super( *vars ) end |
.attributes ⇒ Object
123 124 125 |
# File 'lib/arachni/option_group.rb', line 123 def self.attributes @attributes ||= [] end |
.defaults ⇒ Hash
Returns Specified default values for attribute readers.
22 23 24 |
# File 'lib/arachni/option_group.rb', line 22 def defaults @defaults ||= {} end |
.inherited(child) ⇒ Object
45 46 47 |
# File 'lib/arachni/option_group.rb', line 45 def inherited( child ) Options.register_group child end |
.set_defaults(default_values) ⇒ Object
Sets default values for attribute readers, when an attribute reader returns ‘nil` the default values will be returned instead.
31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/arachni/option_group.rb', line 31 def set_defaults( default_values ) defaults.merge! default_values # Set the specified default values as overrides to the attribute # readers. defaults.each do |ivar, value| define_method "#{ivar}=" do |v| instance_variable_set( "@#{ivar}".to_sym, v.nil? ? value : v) end end defaults end |
Instance Method Details
#==(other) ⇒ Object
87 88 89 |
# File 'lib/arachni/option_group.rb', line 87 def ==( other ) hash == other.hash end |
#attributes ⇒ Object
127 128 129 |
# File 'lib/arachni/option_group.rb', line 127 def attributes self.class.attributes end |
#defaults ⇒ Hash
Returns Specified default values for attribute readers.
114 115 116 |
# File 'lib/arachni/option_group.rb', line 114 def defaults self.class.defaults end |
#hash ⇒ Object
91 92 93 |
# File 'lib/arachni/option_group.rb', line 91 def hash to_h.hash end |
#merge(other) ⇒ OptionGroup
Returns ‘self`.
109 110 111 |
# File 'lib/arachni/option_group.rb', line 109 def merge( other ) update( other.to_h ) end |
#to_h ⇒ Hash
Returns Values for all attribute accessors which aren’t the defaults.
62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/arachni/option_group.rb', line 62 def to_h h = {} instance_variables.each do |ivar| method = normalize_ivar( ivar ) sym = method.to_sym value = instance_variable_get( ivar ) next if !respond_to?( "#{method}=" ) h[sym] = value end h end |
#to_hash ⇒ Object
75 76 77 |
# File 'lib/arachni/option_group.rb', line 75 def to_hash to_h end |
#to_rpc_data ⇒ Object
56 57 58 |
# File 'lib/arachni/option_group.rb', line 56 def to_rpc_data to_h.my_stringify_keys(false) end |
#update(options) ⇒ OptionGroup
Returns ‘self`.
100 101 102 103 |
# File 'lib/arachni/option_group.rb', line 100 def update( ) .to_hash.each { |k, v| send( "#{k}=", v ) } self end |
#validate ⇒ Hash
Returns Hash of errors with the name of the invalid options as the keys.
83 84 85 |
# File 'lib/arachni/option_group.rb', line 83 def validate {} end |