module ActionAction::Callbacks

Public Instance Methods

after_perform(method_name = nil, params = {}, &block) click to toggle source
# File lib/action_action/callbacks.rb, line 3
def after_perform(method_name = nil, params = {}, &block)
  prepare_callback(:perform, :after, method_name, params, &block)
end
around_perform(method_name) click to toggle source
# File lib/action_action/callbacks.rb, line 11
def around_perform(method_name)
  set_callback(:perform, :around, method_name)
end
before_perform(method_name = nil, params = {}, &block) click to toggle source
# File lib/action_action/callbacks.rb, line 7
def before_perform(method_name = nil, params = {}, &block)
  prepare_callback(:perform, :before, method_name, params, &block)
end

Private Instance Methods

prepare_callback(on, what, method_name = nil, params = {}, &block) click to toggle source
# File lib/action_action/callbacks.rb, line 17
def prepare_callback(on, what, method_name = nil, params = {}, &block)
  set_callback(on, what) do
    if params[:on] == :error && error? || \
      params[:on] == :success && success? || params[:on].nil?
      block_given? ? instance_eval(&block) : self.method(method_name).call
    end
  end
end