Sha256: fb9bb593a0d35bf50572c2395f41170641d93ffa81d321d2b5da67b331a973fd
Contents?: true
Size: 805 Bytes
Versions: 12
Compression:
Stored size: 805 Bytes
Contents
# frozen_string_literal: true module Karafka module Web module Tracking module Consumers # Consumer tracking related contracts module Contracts # Expected data for each consumer group # It's mostly about topics details class ConsumerGroup < BaseContract configure required(:id) { |val| val.is_a?(String) && !val.empty? } required(:topics) { |val| val.is_a?(Hash) } virtual do |data, errors| next unless errors.empty? topic_contract = Topic.new data.fetch(:topics).each do |_topic_name, details| topic_contract.validate!(details) end nil end end end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems