Sha256: 4542f9ad7d1ed646feb482c7ca57eaea6e7b0c4088c34b8cb9ff75fbea09a462

Contents?: true

Size: 969 Bytes

Versions: 29

Compression:

Stored size: 969 Bytes

Contents

# frozen_string_literal: true

module PagesCore
  module ErrorRenderer
    extend ActiveSupport::Concern
    # Renders a fancy error page from app/views/errors. If the error name
    # is numeric, it will also be set as the response status. Example:
    #
    #   render_error 404
    #
    def render_error(error, options = {})
      options[:status] ||= error if error.is_a? Numeric
      respond_to do |format|
        format.html do
          options[:layout] = error_layout(error, options)
          @email = current_user.try(&:email) || ""
          render({ template: "errors/#{error}" }.merge(options))
        end
        format.any { head options[:status] }
      end
      true
    end

    protected

    def error_layout(error, options = {})
      return options[:layout] if options.key?(:layout)

      if error == 404 && PagesCore.config.error_404_layout?
        PagesCore.config.error_404_layout
      else
        "errors"
      end
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
pages_core-3.15.5 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.15.4 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.15.3 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.15.2 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.15.1 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.14.0 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.13.0 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.12.7 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.12.6 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.12.5 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.12.4 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.12.3 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.12.2 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.12.1 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.12.0 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.11.3 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.11.2 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.11.1 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.11.0 app/controllers/concerns/pages_core/error_renderer.rb
pages_core-3.10.2 app/controllers/concerns/pages_core/error_renderer.rb