Sha256: 47257a702571a745622b0b4e3e6e2ecbc087491966fb9c2a89ea0537fbdcf61b
Contents?: true
Size: 1.32 KB
Versions: 8
Compression:
Stored size: 1.32 KB
Contents
module Api::Error extend ActiveSupport::Concern included do rescue_from "Exception" do |exception| logger.error exception.message logger.error exception.backtrace.join("\n") respond_api_error(:internal_server_error, message: "server_error", type: exception.class.to_s, detail: exception.message) end rescue_from "ActiveRecord::RecordNotFound" do |exception| respond_api_error(:not_found, message: "record_not_found", detail: exception.message) end rescue_from "ActiveModel::ForbiddenAttributesError" do |exception| respond_api_error(:bad_request, message: "protected_attributes", detail: exception.message) end rescue_from "ActiveRecord::RecordInvalid" do |exception| respond_api_error(:bad_request, message: "invalid_attributes", errors: exception.record.errors) end rescue_from "PowerApi::InvalidVersion" do |exception| respond_api_error(:bad_request, message: "invalid_api_version", errors: exception.message) end end def respond_api_error(status, error = {}) render json: error, status: status end end
Version data entries
8 entries across 8 versions & 1 rubygems