class Trailblazer::Activity::DSL::Linear::State::Normalizer
Compiles and maintains all final normalizers for a specific DSL
.
Public Class Methods
new(normalizer_sequences)
click to toggle source
- gets instantiated at compile time.
-
We simply compile the activities that represent the normalizers for step, pass, etc. This can happen at compile-time, as normalizers are stateless.
# File lib/trailblazer/activity/dsl/linear/state.rb, line 51 def initialize(normalizer_sequences) @normalizers = Hash[ normalizer_sequences.collect { |name, seq| [name, compile_normalizer(seq)] } ] end
Public Instance Methods
call(name, *args)
click to toggle source
Execute the specific normalizer (step, fail, pass) for a particular option set provided by the DSL
user. This is usually when you call Operation::step.
# File lib/trailblazer/activity/dsl/linear/state.rb, line 59 def call(name, *args) normalizer = @normalizers.fetch(name) _signal, (options, _) = normalizer.(*args) options end
compile_normalizer(normalizer_sequence)
click to toggle source
# File lib/trailblazer/activity/dsl/linear/state.rb, line 42 def compile_normalizer(normalizer_sequence) process = Trailblazer::Activity::DSL::Linear::Compiler.(normalizer_sequence) process.to_h[:circuit] end