Module: Arachni::Support::Mixins::Observable

Includes:
Utilities, MonitorMixin
Included in:
Browser, Data::Issues, Framework, HTTP::Client, Buffer::Base, Trainer
Defined in:
lib/arachni/support/mixins/observable.rb

Overview

Provides a flexible way to make any object observable for multiple events.

The observable classes use:

* `notify_<event>( *args )`

to notify observers of events.

The observers request notifications using:

* `observable.<event>( &block )`

Author:

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Utilities

#available_port, #caller_name, #caller_path, #cookie_decode, #cookie_encode, #cookies_from_document, #cookies_from_file, #cookies_from_response, #exception_jail, #exclude_path?, #follow_protocol?, #form_decode, #form_encode, #forms_from_document, #forms_from_response, #generate_token, #get_path, #hms_to_seconds, #html_decode, #html_encode, #include_path?, #links_from_document, #links_from_response, #normalize_url, #page_from_response, #page_from_url, #parse_set_cookie, #path_in_domain?, #path_too_deep?, #port_available?, #rand_port, #random_seed, #redundant_path?, #remove_constants, #request_parse_body, #seconds_to_hms, #skip_page?, #skip_path?, #skip_resource?, #skip_response?, #to_absolute, #uri_decode, #uri_encode, #uri_parse, #uri_parse_query, #uri_parser, #uri_rewrite

Class Method Details

.included(base) ⇒ Object



30
31
32
# File 'lib/arachni/support/mixins/observable.rb', line 30

def self.included( base )
    base.extend ClassMethods
end

Instance Method Details

#initializeObject



52
53
54
55
56
# File 'lib/arachni/support/mixins/observable.rb', line 52

def initialize
    super

    @__observers = {}
end