# 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(e) Rails.logger.error("Unhandled API Error: #{e}\n#{e.backtrace.join("\n")}") @error = APIError::BaseError.new("An unhandled exception occurred.", internal_error: e) render partial: 'error', status: :internal_server_error end def set_default_response_format request.format = :json end end