Parent

Delayed::Lifecycle

Constants

EVENTS

Public Class Methods

new() click to toggle source
# File lib/delayed/lifecycle.rb, line 15
def initialize
  @callbacks = EVENTS.keys.inject({}) { |hash, e| hash[e] = Callback.new; hash }
end

Public Instance Methods

after(event, &block) click to toggle source
# File lib/delayed/lifecycle.rb, line 23
def after(event, &block)
  add(:after, event, &block)
end
around(event, &block) click to toggle source
# File lib/delayed/lifecycle.rb, line 27
def around(event, &block)
  add(:around, event, &block)
end
before(event, &block) click to toggle source
# File lib/delayed/lifecycle.rb, line 19
def before(event, &block)
  add(:before, event, &block)
end
run_callbacks(event, *args, &block) click to toggle source
# File lib/delayed/lifecycle.rb, line 31
def run_callbacks(event, *args, &block)
  missing_callback(event) unless @callbacks.has_key?(event)
  
  unless EVENTS[event].size == args.size
    raise ArgumentError, "Callback #{event} expects #{EVENTS[event].size} parameter(s): #{EVENTS[event].join(', ')}"
  end
  
  @callbacks[event].execute(*args, &block)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.