# frozen_string_literal: true module Errors module BaseError extend ActiveSupport::Concern included do class_attribute :errors, instance_accessor: false self.errors = Hash.new({ status: nil, code: nil, message: nil }) end module ClassMethods attr_reader :errors def status(status) self.errors = errors.merge({ status: status }) end def code(code) self.errors = errors.merge({ code: "ERROR_#{code.upcase}" }) end def message(message) self.errors = errors.merge({ errors: message }) end end end end