Class: Chef::EventDispatch::Dispatcher
- Defined in:
- lib/chef/event_dispatch/dispatcher.rb
Overview
EventDispatch::Dispatcher
The Dispatcher handles receiving event data from the sources (Chef::Client, Resources and Providers, etc.) and publishing the data to the registered subscribers.
Class Method Summary collapse
-
.def_forwarding_method(method_name) ⇒ Object
Define a method that will be forwarded to all.
Instance Method Summary collapse
-
#initialize(*subscribers) ⇒ Dispatcher
constructor
A new instance of Dispatcher.
-
#register(subscriber) ⇒ Object
Add a new subscriber to the list of registered subscribers.
Methods inherited from Base
#attribute_file_load_failed, #attribute_file_loaded, #attribute_load_complete, #attribute_load_start, #converge_complete, #converge_start, #cookbook_clean_complete, #cookbook_clean_start, #cookbook_resolution_complete, #cookbook_resolution_failed, #cookbook_resolution_start, #cookbook_sync_complete, #cookbook_sync_failed, #cookbook_sync_start, #definition_file_load_failed, #definition_file_loaded, #definition_load_complete, #definition_load_start, #handler_executed, #handlers_completed, #handlers_start, #library_file_load_failed, #library_file_loaded, #library_load_complete, #library_load_start, #lwrp_file_load_failed, #lwrp_file_loaded, #lwrp_load_complete, #lwrp_load_start, #msg, #node_load_completed, #node_load_failed, #node_load_start, #ohai_completed, #provider_requirement_failed, #recipe_file_load_failed, #recipe_file_loaded, #recipe_load_complete, #recipe_load_start, #recipe_not_found, #registration_completed, #registration_failed, #registration_start, #removed_cookbook_file, #resource_action_start, #resource_bypassed, #resource_completed, #resource_current_state_load_bypassed, #resource_current_state_loaded, #resource_failed, #resource_failed_retriable, #resource_skipped, #resource_up_to_date, #resource_update_applied, #resource_updated, #run_completed, #run_failed, #run_list_expand_failed, #run_start, #skipping_registration, #synchronized_cookbook, #updated_cookbook_file, #whyrun_assumption
Constructor Details
#initialize(*subscribers) ⇒ Dispatcher
Returns a new instance of Dispatcher.
12 13 14 |
# File 'lib/chef/event_dispatch/dispatcher.rb', line 12 def initialize(*subscribers) @subscribers = subscribers end |
Class Method Details
.def_forwarding_method(method_name) ⇒ Object
Define a method that will be forwarded to all
27 28 29 30 31 32 33 |
# File 'lib/chef/event_dispatch/dispatcher.rb', line 27 def self.def_forwarding_method(method_name) class_eval(<<-END_OF_METHOD, __FILE__, __LINE__) def #{method_name}(*args) @subscribers.each {|s| s.#{method_name}(*args)} end END_OF_METHOD end |
Instance Method Details
#register(subscriber) ⇒ Object
Add a new subscriber to the list of registered subscribers
17 18 19 |
# File 'lib/chef/event_dispatch/dispatcher.rb', line 17 def register(subscriber) @subscribers << subscriber end |