class Evnt::Handler
Handlers are used to listen one or more events and run tasks after their execution.
Attributes
event[R]
Attribute containings the event that notify the handler.
Private Class Methods
listen(event)
click to toggle source
This function permits handler to listen specific event.
# File lib/evnt/handler.rb, line 77 def listen(event) event.add_handler(new) end
on(event_name, &block)
click to toggle source
This function sets the blocks executed for a specific event.
# File lib/evnt/handler.rb, line 82 def on(event_name, &block) @_current_event_name = event_name block.yield end
to_manage_event(&block)
click to toggle source
This function sets the manage event function for the event.
# File lib/evnt/handler.rb, line 93 def to_manage_event(&block) define_method("#{@_current_event_name}_manage_event", &block) end
to_manage_reloaded_event(&block)
click to toggle source
This function sets the manage reloaded event function for the event.
# File lib/evnt/handler.rb, line 98 def to_manage_reloaded_event(&block) define_method("#{@_current_event_name}_manage_reloaded_event", &block) end
to_update_queries(&block)
click to toggle source
This function sets the update queries function for the event.
# File lib/evnt/handler.rb, line 88 def to_update_queries(&block) define_method("#{@_current_event_name}_update_queries", &block) end
Public Instance Methods
Private Instance Methods
_init_handler_data(event)
click to toggle source
This function initializes the handler required data.
# File lib/evnt/handler.rb, line 33 def _init_handler_data(event) @event = event end
_run_handler_steps()
click to toggle source
This function calls requested steps for the handler.
# File lib/evnt/handler.rb, line 38 def _run_handler_steps _safe_update_queries(@event.name) if event.reloaded? # manage event reloaded _safe_manage_reloaded_event(@event.name) else # manage normal event _safe_manage_event(@event.name) end end
_safe_manage_event(event)
click to toggle source
# File lib/evnt/handler.rb, line 64 def _safe_manage_event(event) manage_event = "#{event}_manage_event" return send(manage_event) if respond_to? manage_event nil end
_safe_manage_reloaded_event(event)
click to toggle source
# File lib/evnt/handler.rb, line 58 def _safe_manage_reloaded_event(event) manage_reloaded_event = "#{event}_manage_reloaded_event" return send(manage_reloaded_event) if respond_to? manage_reloaded_event nil end
_safe_update_queries(event)
click to toggle source
Safe defined functions:
# File lib/evnt/handler.rb, line 52 def _safe_update_queries(event) update_queries = "#{event}_update_queries" return send(update_queries) if respond_to? update_queries nil end