Sha256: 0b09c0913bc0de68c8281e13684e4fee7ccffc78176963c20f277383fc7b4d81
Contents?: true
Size: 739 Bytes
Versions: 28
Compression:
Stored size: 739 Bytes
Contents
# frozen_string_literal: true module Karafka module Web module Tracking module Consumers module Contracts # Expected topic information that needs to go out class Topic < Web::Contracts::Base configure required(:name) { |val| val.is_a?(String) && !val.empty? } required(:partitions) { |val| val.is_a?(Hash) } virtual do |data, errors| next unless errors.empty? partition_contract = Partition.new data.fetch(:partitions).each_value do |details| partition_contract.validate!(details) end nil end end end end end end end
Version data entries
28 entries across 28 versions & 1 rubygems