erichaydel/errdo

View on GitHub
app/controllers/errdo/exceptions_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Errdo
  class ExceptionsController < ActionDispatch::PublicExceptions

    # attr_accessor :public_path

    # def initialize(public_path)
    #   super
    # end

    def call(env)
      status       = env["PATH_INFO"][1..-1]
      request      = ActionDispatch::Request.new(env)
      content_type = request.formats.first
      body         = {  status: status,
                        error: Rack::Utils::HTTP_STATUS_CODES.fetch(status.to_i, Rack::Utils::HTTP_STATUS_CODES[500]) }

      Errdo::Exception.new(env) if Errdo.log404 || status.to_i != 404
      render(status, content_type, body)
    end

    # private

    # def render(status, content_type, body)
    #   super
    # end

    # def render_format(status, content_type, body)
    #   super
    # end

    # def render_html(status)
    #   super
    # end

  end
end