Module: Rescue::Controller
- Defined in:
- lib/rescue/controller.rb,
lib/rescue/controllers/flash.rb,
lib/rescue/controllers/action.rb,
lib/rescue/controllers/static.rb,
lib/rescue/controllers/dynamic.rb
Defined Under Namespace
Modules: ClassMethods, Dynamic, Static
Classes: Action, Flash
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
5
6
7
8
|
# File 'lib/rescue/controller.rb', line 5
def self.included(base)
base.extend Rescue::Controller::ClassMethods
base.send(:private, :rescue_respond)
end
|
Instance Method Details
#rescue_respond(call, params, options = {}) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# 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
|