module Paratrooper::Callbacks

Public Instance Methods

add_callback(name, &block) click to toggle source

Public: Add misc. function to be called at a later time

name - String name of callback

Example: before_[method_name], after_[method_name]

block - Code to be executed during callback

# File lib/paratrooper/callbacks.rb, line 9
def add_callback(name, &block)
  callbacks[name] << block
end
build_callback(name, context = nil, &block) click to toggle source
# File lib/paratrooper/callbacks.rb, line 17
def build_callback(name, context = nil, &block)
  execute_callback("before_#{name}".to_sym, context)
  block.call if block_given?
  execute_callback("after_#{name}".to_sym, context)
end
callbacks() click to toggle source
# File lib/paratrooper/callbacks.rb, line 13
def callbacks
  @callbacks ||= Hash.new { |hash, key| hash[key] = [] }
end

Private Instance Methods

execute_callback(name, context) click to toggle source
# File lib/paratrooper/callbacks.rb, line 25
def execute_callback(name, context)
  callbacks[name].each { |c| c.call(context) }
end