# frozen_string_literal: true require './lib/api_error/base_error' class API::V1::ApplicationController < ActionController::API before_action :set_default_response_format rescue_from StandardError, with: :handle_unhandled_api_error def not_found @error = APIError::BaseError.new('The requested resource was not found') render partial: 'error', status: :not_found end private def handle_unhandled_api_error(err) Rails.logger.error("Unhandled API Error: #{err}\n#{err.backtrace.join("\n")}") @error = APIError::BaseError.new('An unhandled exception occurred.', internal_error: err) render partial: 'error', status: :internal_server_error end def set_default_response_format request.format = :json end end