class Arachni::State::Plugins
@author Tasos “Zapotek” Laskos <tasos.laskos@arachni-scanner.com>
Attributes
runtime[R]
@return [Hash]
Runtime plugin data.
Public Class Methods
load( directory )
click to toggle source
# File lib/arachni/state/plugins.rb, line 75 def self.load( directory ) plugins = new %w(runtime).each do |type| Dir["#{directory}/#{type}/*"].each do |plugin_directory| plugin = File.basename( plugin_directory ).to_sym plugins.send(type)[plugin] = Marshal.load( IO.binread( plugin_directory ) ) end end plugins end
new()
click to toggle source
# File lib/arachni/state/plugins.rb, line 19 def initialize @runtime = {} end
Public Instance Methods
[]( plugin )
click to toggle source
@param [String,Symbol] plugin
Plugin {Component::Base.shortname}.
@return [Object]
# File lib/arachni/state/plugins.rb, line 44 def []( plugin ) @runtime[plugin.to_sym] end
clear()
click to toggle source
# File lib/arachni/state/plugins.rb, line 88 def clear @runtime.clear end
delete( plugin )
click to toggle source
@param [String,Symbol] plugin
Plugin {Component::Base.shortname}.
@return [Object]
# File lib/arachni/state/plugins.rb, line 52 def delete( plugin ) @runtime.delete( plugin.to_sym ) end
dump( directory )
click to toggle source
# File lib/arachni/state/plugins.rb, line 64 def dump( directory ) %w(runtime).each do |type| send(type).each do |plugin, data| result_directory = "#{directory}/#{type}/" FileUtils.mkdir_p( result_directory ) IO.binwrite( "#{result_directory}/#{plugin}", Marshal.dump( data ) ) end end end
include?( plugin )
click to toggle source
@param [String,Symbol] plugin
Plugin {Component::Base.shortname}.
@return [Bool]
# File lib/arachni/state/plugins.rb, line 60 def include?( plugin ) @runtime.include?( plugin.to_sym ) end
statistics()
click to toggle source
# File lib/arachni/state/plugins.rb, line 23 def statistics { names: @runtime.keys } end
store( plugin, state )
click to toggle source
Registers plugin states.
@param [String,Symbol] plugin
Plugin {Component::Base.shortname}.
@param [Object] state
# File lib/arachni/state/plugins.rb, line 35 def store( plugin, state ) @runtime[plugin.to_sym] = state end
Also aliased as: []=