Sha256: eed553ec843cfd416abf27f33661a595bdd311847b55d2b5702cac1f9bca32a5
Contents?: true
Size: 1.11 KB
Versions: 4
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true module Karafka module Web module Tracking module Contracts # Contract for error reporting # Since producers and consumers report their errors to the same topic, we need to have # a unified contract for both class Error < Base configure required(:schema_version) { |val| val.is_a?(String) } required(:type) { |val| val.is_a?(String) && !val.empty? } required(:error_class) { |val| val.is_a?(String) && !val.empty? } required(:error_message) { |val| val.is_a?(String) } required(:backtrace) { |val| val.is_a?(String) } required(:details) { |val| val.is_a?(Hash) } required(:occurred_at) { |val| val.is_a?(Float) } nested(:process) do required(:name) { |val| val.is_a?(String) && !val.empty? } # Tags may not be present for producers because they may operate from outside of # karafka taggable process optional(:tags) { |val| val.is_a?(Karafka::Core::Taggable::Tags) } end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems