Module: Julewire::Core::Processing

Defined in:
lib/julewire/core/processing.rb,
lib/julewire/core/processing/match.rb,
lib/julewire/core/processing/pipeline.rb,
lib/julewire/core/processing/sampling.rb,
lib/julewire/core/processing/level_threshold.rb,
lib/julewire/core/processing/processor_chain.rb,
lib/julewire/core/processing/processor_wrapper.rb,
lib/julewire/core/processing/processor_registry.rb,
lib/julewire/core/processing/invalid_result_failure.rb,
lib/julewire/core/processing/record_field_transform.rb

Defined Under Namespace

Modules: InvalidResultFailure, Sampling Classes: LevelThreshold, Match, Pipeline, ProcessorChain, ProcessorRegistry, ProcessorWrapper, RecordFieldTransform

Class Method Summary collapse

Class Method Details

.build(kind) ⇒ Object

Raises:

  • (ArgumentError)


15
16
17
18
19
20
# File 'lib/julewire/core/processing.rb', line 15

def build(kind, ...)
  factory = factory_for(kind)
  raise ArgumentError, "unknown processor kind #{kind.inspect}" unless factory

  factory.call(...)
end

.factory_for(kind) ⇒ Object



22
23
24
# File 'lib/julewire/core/processing.rb', line 22

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

.register(kind, &factory) ⇒ Object

Raises:

  • (ArgumentError)


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

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

  @factories[normalize_kind(kind)] = factory
end