module RailsCom::PublicExceptions

Public Instance Methods

call(env) click to toggle source
Calls superclass method
# File lib/rails_com/action_controller/public_exceptions.rb, line 3
def call(env)
  @exp = env['action_dispatch.exception']
  super
end

Private Instance Methods

render(status, content_type, body) click to toggle source
Calls superclass method
# File lib/rails_com/action_controller/public_exceptions.rb, line 9
def render(status, content_type, body)
  error = {
    class: @exp.class.inspect
  }
  if @exp.respond_to?(:id)
    error.merge! id: @exp.id
  end
  if @exp.respond_to?(:record)
    message = @exp.record.error_text
  else
    message = RailsCom.config.default_error_message.presence || @exp.message
  end
  body = {
    error: error,
    message: message
  }

  super
end