Repository URL to install this package:
|
Version:
0.1.0 ▾
|
# frozen_string_literal: true
require 'kiwi/errors/version'
require 'kiwi/errors/handler'
require 'kiwi/errors/renderer'
module Kiwi
# Kiwi Errors
module Errors
include Handler
include Renderer
# Error
def logger
@logger ||= SemanticLogger
end
class Error < StandardError; end
# Api Error
class ApiError < Error
attr_reader :code, :status
def initialize(message, code, status)
super(message)
@code = code
@status = status
end
end
def self.included(action)
action.class_eval do
handle_exception StandardError => :app_exception
end
end
def app_exception(exception)
logger.error exception
api_errors(exception)
end
end
end