Sha256: 8a73bb590442e181c74e40f77681c3df7ac5b7bf09471487933fe60e28bb40ad

Contents?: true

Size: 1.34 KB

Versions: 13

Compression:

Stored size: 1.34 KB

Contents

# frozen_string_literal: true

# This Karafka component is a Pro component under a commercial license.
# This Karafka component is NOT licensed under LGPL.
#
# All of the commercial components are present in the lib/karafka/pro directory of this
# repository and their usage requires commercial license agreement.
#
# Karafka has also commercial-friendly license, commercial support and commercial components.
#
# By sending a pull request to the pro components, you are agreeing to transfer the copyright of
# your code to Maciej Mensfeld.

module Karafka
  module Pro
    module Processing
      # Pro selector of appropriate topic setup based features enhancements.
      class ExpansionsSelector < Karafka::Processing::ExpansionsSelector
        # @param topic [Karafka::Routing::Topic] topic with settings based on which we find
        #   expansions
        # @return [Array<Module>] modules with proper expansions we're suppose to use to enhance
        #   the consumer
        def find(topic)
          # Start with the non-pro expansions
          expansions = super
          expansions << Pro::Processing::Piping::Consumer
          expansions << Pro::Processing::OffsetMetadata::Consumer if topic.offset_metadata?
          expansions << Pro::Processing::PeriodicJob::Consumer if topic.periodic_job?
          expansions
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
karafka-2.4.11 lib/karafka/pro/processing/expansions_selector.rb
karafka-2.4.10 lib/karafka/pro/processing/expansions_selector.rb
karafka-2.4.9 lib/karafka/pro/processing/expansions_selector.rb
karafka-2.4.8 lib/karafka/pro/processing/expansions_selector.rb
karafka-2.4.7 lib/karafka/pro/processing/expansions_selector.rb
karafka-2.4.6 lib/karafka/pro/processing/expansions_selector.rb
karafka-2.4.5 lib/karafka/pro/processing/expansions_selector.rb
karafka-2.4.4 lib/karafka/pro/processing/expansions_selector.rb
karafka-2.4.3 lib/karafka/pro/processing/expansions_selector.rb
karafka-2.4.0 lib/karafka/pro/processing/expansions_selector.rb
karafka-2.4.0.rc1 lib/karafka/pro/processing/expansions_selector.rb
karafka-2.4.0.beta2 lib/karafka/pro/processing/expansions_selector.rb
karafka-2.4.0.beta1 lib/karafka/pro/processing/expansions_selector.rb