Module: Cramp::Callbacks
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
Instance Method Details
#before_start(n = 0) ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/cramp/callbacks.rb', line 33 def before_start(n = 0) if callback = self.class.before_start_callbacks[n] callback_wrapper { send(callback) { before_start(n+1) } } else continue end end |
#callback_wrapper ⇒ Object
55 56 57 58 59 60 61 62 63 |
# File 'lib/cramp/callbacks.rb', line 55 def callback_wrapper EM.next_tick do begin yield rescue StandardError, LoadError, SyntaxError => exception handle_exception(exception) end end end |
#on_finish ⇒ Object
49 50 51 52 53 |
# File 'lib/cramp/callbacks.rb', line 49 def on_finish self.class.on_finish_callbacks.each do |callback| callback_wrapper { send(callback) } end end |
#on_start ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/cramp/callbacks.rb', line 41 def on_start callback_wrapper { start } if respond_to?(:start) self.class.on_start_callback.each do |callback| callback_wrapper { send(callback) unless @finished } end end |