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
  payload_policies
].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:



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

def initialize(config)
  @config = config
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



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

def config
  @config
end

Class Method Details

.call(config) ⇒ Hash

Returns JSON-friendly capabilities.

Parameters:

Returns:

  • (Hash)

    JSON-friendly capabilities



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

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

Instance Method Details

#to_hHash

Returns JSON-friendly capabilities.

Returns:

  • (Hash)

    JSON-friendly capabilities



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

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