Class: Mammoth::Capabilities

Inherits:
Object
  • Object
show all
Defined in:
lib/mammoth/capabilities.rb

Overview

Reports local Mammoth capabilities without inspecting private internals.

Constant Summary collapse

FEATURES =

Built-in OSS data-plane feature capabilities.

%w[
  checkpointing
  delivery_ledger
  dead_letters
  replay
  health
  metrics
  routing
  fanout
].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Capabilities

Returns a new instance of Capabilities.

Parameters:



21
22
23
# File 'lib/mammoth/capabilities.rb', line 21

def initialize(config)
  @config = config
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



18
19
20
# File 'lib/mammoth/capabilities.rb', line 18

def config
  @config
end

Class Method Details

.call(config) ⇒ Hash

Returns JSON-friendly capabilities.

Parameters:

Returns:

  • (Hash)

    JSON-friendly capabilities



27
28
29
# File 'lib/mammoth/capabilities.rb', line 27

def self.call(config)
  new(config).to_h
end

Instance Method Details

#to_hHash

Returns JSON-friendly capabilities.

Returns:

  • (Hash)

    JSON-friendly capabilities



32
33
34
35
36
37
38
39
40
# File 'lib/mammoth/capabilities.rb', line 32

def to_h
  {
    operational_state: operational_state_adapter,
    destinations: destination_types,
    runtimes: Runtimes::Registry.names,
    runtime: runtime_adapter,
    features: FEATURES
  }
end