errors.rb 383 B

123456789
  1. module Payment::Errors
  2. ERROR_CODES = %i[insufficient_funds retry_later].freeze
  3. class PaymentErrorCodesMismatchError < StandardError; end
  4. def self.included(base)
  5. raise PaymentErrorCodesMismatchError.new("'#{ERROR_CODES.difference(base::ERROR_MAP.values).join(", ")}' method(s) are not included in #{base}") if ERROR_CODES.difference(base::ERROR_MAP.values).any?
  6. end
  7. end