Sha256: d9d9da1cf211e99e9213042f8433561658e80c6b0cc33da499e731bf94ca13a4
Contents?: true
Size: 973 Bytes
Versions: 3
Compression:
Stored size: 973 Bytes
Contents
# frozen_string_literal: true module Deimos module Backends # Abstract class for all publish backends. class Base class << self # @param producer_class [Class<Deimos::Producer>] # @param messages [Array<Deimos::Message>] # @return [void] def publish(producer_class:, messages:) Deimos.config.logger.info( message: 'Publishing messages', topic: producer_class.topic, payloads: messages.map do |message| { payload: message.payload, key: message.key } end ) execute(producer_class: producer_class, messages: messages) end # @param producer_class [Class<Deimos::Producer>] # @param messages [Array<Deimos::Message>] # @return [void] def execute(producer_class:, messages:) raise NotImplementedError end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
deimos-ruby-1.17.0 | lib/deimos/backends/base.rb |
deimos-ruby-1.16.5 | lib/deimos/backends/base.rb |
deimos-ruby-1.16.4 | lib/deimos/backends/base.rb |