Module: Karafka::Routing::Features::Declaratives::Topic
- Defined in:
- lib/karafka/routing/features/declaratives/topic.rb
Overview
Extension for managing Kafka topic configuration
Instance Method Summary collapse
-
#config(active: true, partitions: 1, replication_factor: 1, **details) ⇒ Config
Defined structure.
-
#declaratives ⇒ Config
Config details.
-
#declaratives? ⇒ true
Declaratives is always active.
-
#initialize ⇒ Object
This method calls the parent class initializer and then sets up the extra instance variable to nil.
-
#to_h ⇒ Hash
Topic with all its native configuration options plus declaratives settings.
Instance Method Details
#config(active: true, partitions: 1, replication_factor: 1, **details) ⇒ Config
Returns defined structure.
26 27 28 29 30 31 32 33 |
# File 'lib/karafka/routing/features/declaratives/topic.rb', line 26 def config(active: true, partitions: 1, replication_factor: 1, **details) @declaratives ||= Config.new( active: active, partitions: partitions, replication_factor: replication_factor, details: details ) end |
#declaratives ⇒ Config
Returns config details.
36 37 38 |
# File 'lib/karafka/routing/features/declaratives/topic.rb', line 36 def declaratives config end |
#declaratives? ⇒ true
Returns declaratives is always active.
41 42 43 |
# File 'lib/karafka/routing/features/declaratives/topic.rb', line 41 def declaratives? declaratives.active? end |
#initialize ⇒ Object
This method calls the parent class initializer and then sets up the extra instance variable to nil. The explicit initialization to nil is included as an optimization for Ruby’s object shapes system, which improves memory layout and access performance.
13 14 15 16 |
# File 'lib/karafka/routing/features/declaratives/topic.rb', line 13 def initialize(...) super @declaratives = nil end |
#to_h ⇒ Hash
Returns topic with all its native configuration options plus declaratives settings.
47 48 49 50 51 |
# File 'lib/karafka/routing/features/declaratives/topic.rb', line 47 def to_h super.merge( declaratives: declaratives.to_h ).freeze end |