Class: Julewire::Core::Processing::ProcessorWrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/julewire/core/processing/processor_wrapper.rb

Constant Summary collapse

FAIL_CLOSED =
:fail_closed
FAIL_OPEN =
:fail_open
DROP =
:drop
POLICIES =
[FAIL_CLOSED, FAIL_OPEN, DROP].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(processor, on_error: FAIL_CLOSED) ⇒ ProcessorWrapper

Returns a new instance of ProcessorWrapper.



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

def initialize(processor, on_error: FAIL_CLOSED)
  validate_processor!(processor)
  @processor = processor
  @on_error = self.class.normalize_policy(on_error)
end

Instance Attribute Details

#on_errorObject (readonly)

Returns the value of attribute on_error.



12
13
14
# File 'lib/julewire/core/processing/processor_wrapper.rb', line 12

def on_error
  @on_error
end

Class Method Details

.normalize_policy(value) ⇒ Object



15
16
17
# File 'lib/julewire/core/processing/processor_wrapper.rb', line 15

def normalize_policy(value)
  Validation.validate_symbol_choice!(value, name: "processor on_error", choices: POLICIES)
end

Instance Method Details

#callObject



26
27
28
# File 'lib/julewire/core/processing/processor_wrapper.rb', line 26

def call(...)
  @processor.call(...)
end

#processor_nameObject



30
31
32
# File 'lib/julewire/core/processing/processor_wrapper.rb', line 30

def processor_name
  @processor.class.name
end