Module: Julewire::Core::Destinations

Defined in:
lib/julewire/core/destinations/collection.rb,
lib/julewire/core/destinations.rb,
lib/julewire/core/destinations/sink.rb,
lib/julewire/core/destinations/registry.rb,
lib/julewire/core/destinations/definition.rb,
lib/julewire/core/destinations/write_step.rb,
lib/julewire/core/destinations/destination.rb,
lib/julewire/core/destinations/chaos_output.rb,
lib/julewire/core/destinations/tail_sampling.rb,
lib/julewire/core/destinations/processor_handling.rb,
lib/julewire/core/destinations/synchronized_output.rb

Defined Under Namespace

Modules: ProcessorHandling, Sink Classes: ChaosOutput, Collection, Definition, Destination, Registry, SynchronizedOutput, TailSampling, WriteStep

Class Method Summary collapse

Class Method Details

.factory_for(kind) ⇒ Object



16
17
18
# File 'lib/julewire/core/destinations.rb', line 16

def factory_for(kind)
  @factories[normalize_name(kind)]
end

.normalize_name(value) ⇒ Object



20
21
22
# File 'lib/julewire/core/destinations.rb', line 20

def normalize_name(value)
  Core.normalize_name(value, name: "destination name")
end

.register(kind, &factory) ⇒ Object

Raises:

  • (ArgumentError)


9
10
11
12
13
14
# File 'lib/julewire/core/destinations.rb', line 9

def register(kind, &factory)
  raise ArgumentError, "destination factory block required" unless factory

  @factories[normalize_name(kind)] = factory
  nil
end