class Lopata::ScenarioBuilder::OptionSet

Set of options for scenario

Attributes

variants[R]

@private

Public Class Methods

new(*variants) click to toggle source

@private

# File lib/lopata/scenario_builder.rb, line 349
def initialize(*variants)
  @variants = {}
  variants.compact.each { |v| self << v }
end

Public Instance Methods

+(other_set) click to toggle source

@private

# File lib/lopata/scenario_builder.rb, line 355
def +(other_set)
  self.class.new(*@variants.values).tap do |sum|
    other_set.each { |v| sum << v }
  end
end
<<(variant) click to toggle source

@private

# File lib/lopata/scenario_builder.rb, line 362
def <<(variant)
  @variants[variant.key] = variant
end
[](key) click to toggle source

@private

# File lib/lopata/scenario_builder.rb, line 367
def [](key)
  @variants[key]
end
each(&block) click to toggle source

@private

# File lib/lopata/scenario_builder.rb, line 372
def each(&block)
  @variants.values.each(&block)
end
metadata() click to toggle source

@return [Hash{Symbol => Object}] metadata for this option set

# File lib/lopata/scenario_builder.rb, line 382
def metadata
  @variants.values.inject({}) do |metadata, variant|
    metadata.merge(variant.metadata(self))
  end
end
title() click to toggle source

@private

# File lib/lopata/scenario_builder.rb, line 377
def title
  @variants.values.map(&:title).compact.join(' ')
end