class Origen::Generator::PatternIterator

Attributes

key[RW]

Public Instance Methods

enabled?(options) click to toggle source
# File lib/origen/generator/pattern_iterator.rb, line 50
def enabled?(options)
  options.keys.include?(key)
end
invoke(options) { || ... } click to toggle source
# File lib/origen/generator/pattern_iterator.rb, line 6
def invoke(options, &block)
  if enabled?(options)
    @loop.call(options[key], &block)
  else
    yield
  end
end
loop(&block) click to toggle source
# File lib/origen/generator/pattern_iterator.rb, line 14
def loop(&block)
  @loop = block
end
pattern_name(&block) click to toggle source
# File lib/origen/generator/pattern_iterator.rb, line 40
def pattern_name(&block)
  if block
    @pattern_name = block
  elsif @pattern_name
    @pattern_name
  else
    fail "pattern_name must be defined for iterator: #{key}"
  end
end
setup(&block) click to toggle source
# File lib/origen/generator/pattern_iterator.rb, line 18
def setup(&block)
  if block
    @setup = block
  elsif @setup
    @setup
  # Setup is optional for an iterator, return something to keep the caller happy
  else
    ->(arg) { arg }
  end
end
startup(&block) click to toggle source
# File lib/origen/generator/pattern_iterator.rb, line 29
def startup(&block)
  if block
    @startup = block
  elsif @startup
    @startup
  # Startup is optional for an iterator, return something to keep the caller happy
  else
    ->(_options, arg) { arg }
  end
end