Module: Motorhead::AbstractController

Defined in:
lib/motorhead/abstract_controller.rb

Instance Method Summary collapse

Instance Method Details

#send_actionObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/motorhead/abstract_controller.rb', line 24

def send_action(*)
  case self
  when Motorhead::Controller
    begin
      super
      @_motorhead_action_successfully_finished = true
      request.env['motorhead_view_assigns'] = view_assigns
    rescue => e
      (self.class.parent::Engine.on_error || Motorhead.config.on_error).call(e)
    end
  when ::ActionController::Base
    if request.env.key? 'motorhead_render_result'
      self.response = request.env.delete 'motorhead_render_result'
      headers.delete 'X-Cascade'
      self.response_body = response.body
    else
      super
    end
  else  # ActionMailer::Base
    super
  end
end