module Rescue::Controller
Public Class Methods
included(base)
click to toggle source
# File lib/rescue/controller.rb, line 5 def self.included(base) base.extend Rescue::Controller::ClassMethods base.send(:private, :rescue_respond) end
Public Instance Methods
rescue_respond(call, params, options = {})
click to toggle source
# File lib/rescue/controller.rb, line 10 def rescue_respond call, params, options = {} begin send(call, params, (options[:validate] ? { context: options[:validate] } : {})) success_message = options[:success]||Flash.message(self, :success) flash[:success] = success_message unless success_message.blank? instance_exec(&options[:render]) rescue => e Rails.logger.debug ([e.message] + e.backtrace).join("\n\t") error_message = options[:error]||Flash.message(self, :error) flash.now[:error] = error_message unless error_message.blank? instance_exec(&options[:rescue]) end end