Sha256: 8b9df09074305eabd1d9755515703066793fb371dd24ddc2a9a06681b7c3896b

Contents?: true

Size: 948 Bytes

Versions: 1

Compression:

Stored size: 948 Bytes

Contents

# encoding: utf-8

class ErrorsController < ::ApplicationController
  layout "errors"

  skip_before_action :verify_authenticity_token

  def report
    return unless session[:error_report]
    deliver_error_report(
      find_error_report,
      params[:email],
      params[:description]
    )
    @error_id = session[:error_report]
  end

  def show
    render_error params[:id].to_i
  end

  private

  def deliver_error_report(report, from, description)
    AdminMailer.error_report(report, from, description).deliver_now
  end

  def find_error_report
    report = YAML.load_file(error_report_path)
    if report[:user_id]
      report[:user] = begin
                        User.find(report[:user_id])
                      rescue
                        nil
                      end
    end
    report
  end

  def error_report_path
    Rails.root
      .join("log", "error_reports")
      .join("#{session[:error_report]}.yml")
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pages_core-3.4.3 app/controllers/errors_controller.rb