Module: Karafka::Routing::Features::InlineInsights::Topic

Defined in:
lib/karafka/routing/features/inline_insights/topic.rb

Overview

Routing topic inline insights API

Instance Method Summary collapse

Instance Method Details

#initializeObject

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/inline_insights/topic.rb', line 13

def initialize(...)
  super
  @inline_insights = nil
end

#inline_insights(active = false) ⇒ Object

Parameters:

  • active (Boolean) (defaults to: false)

    should inline insights be activated



19
20
21
22
23
# File 'lib/karafka/routing/features/inline_insights/topic.rb', line 19

def inline_insights(active = false)
  @inline_insights ||= Config.new(
    active: active
  )
end

#inline_insights?Boolean

Returns Are inline insights active.

Returns:

  • (Boolean)

    Are inline insights active



26
27
28
# File 'lib/karafka/routing/features/inline_insights/topic.rb', line 26

def inline_insights?
  inline_insights.active?
end

#to_hHash

Returns topic setup hash.

Returns:

  • (Hash)

    topic setup hash



31
32
33
34
35
# File 'lib/karafka/routing/features/inline_insights/topic.rb', line 31

def to_h
  super.merge(
    inline_insights: inline_insights.to_h
  ).freeze
end