Module: Trailblazer::Activity::DSL::Linear::VariableMapping::DSL::Filter

Defined in:
lib/trailblazer/activity/dsl/linear/feature/variable_mapping/dsl.rb

Overview

DISCUSS: generic, again

Class Method Summary collapse

Class Method Details

.build(add_variables_class:, **options) ⇒ Object



331
332
333
334
335
# File 'lib/trailblazer/activity/dsl/linear/feature/variable_mapping/dsl.rb', line 331

def self.build(add_variables_class:, **options)
  add_variables_class.new(
    **options,
  )
end

.build_filters_for_hash(user_filter, **options) ⇒ Object



346
347
348
349
350
351
352
353
354
355
# File 'lib/trailblazer/activity/dsl/linear/feature/variable_mapping/dsl.rb', line 346

def self.build_filters_for_hash(user_filter, **options)
  user_filter.collect do |from_name, to_name|
    options = yield(options, from_name, to_name)

    Filter.build_for_reading(
      user_filter: user_filter,
      **options,
    )
  end
end

.build_for_reading(read_name:, **options) ⇒ Object



337
338
339
340
341
342
343
344
# File 'lib/trailblazer/activity/dsl/linear/feature/variable_mapping/dsl.rb', line 337

def self.build_for_reading(read_name:, **options)
  circuit_step_filter = VariableFromCtx.new(variable_name: read_name) # Activity::Circuit.Step(filter, option: true) # this is passed into {SetVariable.new}.

  build(
    filter: circuit_step_filter,
    **options
  )
end

.hash_for(ary) ⇒ Object



357
358
359
# File 'lib/trailblazer/activity/dsl/linear/feature/variable_mapping/dsl.rb', line 357

def self.hash_for(ary)
  ary.collect { |name| [name, name] }.to_h
end

.name_for(type, name, specifier = nil) ⇒ Object



361
362
363
# File 'lib/trailblazer/activity/dsl/linear/feature/variable_mapping/dsl.rb', line 361

def self.name_for(type, name, specifier = nil)
  [type, specifier].compact.join(".") + "{#{name}}"
end