Module: DaimonSkycrawlers::Callbacks
- Included in:
- DaimonSkycrawlers::Crawler::Base, Processor::Base
- Defined in:
- lib/daimon_skycrawlers/callbacks.rb
Overview
This module provides simple callback system
Instance Method Summary collapse
-
#after_process(callback = nil) {|message| ... } ⇒ Object
Register after process callback.
-
#before_process(callback = nil) {|message| ... } ⇒ Object
Register before process callback.
-
#clear_after_process_callbacks ⇒ Object
Clear all after process callbacks.
-
#clear_before_process_callbacks ⇒ Object
Clear all before process callbacks.
-
#run_after_process_callbacks(message) ⇒ Object
Run registered before process callbacks.
-
#run_before_process_callbacks(message) ⇒ Object
Run registered before process callbacks.
Instance Method Details
#after_process(callback = nil) {|message| ... } ⇒ Object
Register after process callback
51 52 53 54 55 56 57 |
# File 'lib/daimon_skycrawlers/callbacks.rb', line 51 def after_process(callback = nil, &block) if block_given? @after_process_callbacks << block else @after_process_callbacks << callback if callback.respond_to?(:call) end end |
#before_process(callback = nil) {|message| ... } ⇒ Object
Register before process callback
20 21 22 23 24 25 26 |
# File 'lib/daimon_skycrawlers/callbacks.rb', line 20 def before_process(callback = nil, &block) if block_given? @before_process_callbacks << block else @before_process_callbacks << callback if callback.respond_to?(:call) end end |
#clear_after_process_callbacks ⇒ Object
Clear all after process callbacks
71 72 73 |
# File 'lib/daimon_skycrawlers/callbacks.rb', line 71 def clear_after_process_callbacks @after_process_callbacks = [] end |
#clear_before_process_callbacks ⇒ Object
Clear all before process callbacks
40 41 42 |
# File 'lib/daimon_skycrawlers/callbacks.rb', line 40 def clear_before_process_callbacks @before_process_callbacks = [] end |
#run_after_process_callbacks(message) ⇒ Object
Run registered before process callbacks
62 63 64 65 66 |
# File 'lib/daimon_skycrawlers/callbacks.rb', line 62 def run_after_process_callbacks() @after_process_callbacks.each do |callback| callback.call() end end |
#run_before_process_callbacks(message) ⇒ Object
Run registered before process callbacks
31 32 33 34 35 |
# File 'lib/daimon_skycrawlers/callbacks.rb', line 31 def run_before_process_callbacks() @before_process_callbacks.all? do |callback| callback.call() end end |