Class: Origen::Generator::PatternIterator
- Defined in:
- lib/origen/generator/pattern_iterator.rb
Instance Attribute Summary collapse
-
#key ⇒ Object
Returns the value of attribute key.
Instance Method Summary collapse
- #enabled?(options) ⇒ Boolean
- #invoke(options, &block) ⇒ Object
- #loop(&block) ⇒ Object
- #pattern_name(&block) ⇒ Object
- #setup(&block) ⇒ Object
- #startup(&block) ⇒ Object
Instance Attribute Details
#key ⇒ Object
Returns the value of attribute key.
4 5 6 |
# File 'lib/origen/generator/pattern_iterator.rb', line 4 def key @key end |
Instance Method Details
#enabled?(options) ⇒ Boolean
50 51 52 |
# File 'lib/origen/generator/pattern_iterator.rb', line 50 def enabled?() .keys.include?(key) end |
#invoke(options, &block) ⇒ Object
6 7 8 9 10 11 12 |
# File 'lib/origen/generator/pattern_iterator.rb', line 6 def invoke(, &block) if enabled?() @loop.call([key], &block) else yield end end |
#loop(&block) ⇒ Object
14 15 16 |
# File 'lib/origen/generator/pattern_iterator.rb', line 14 def loop(&block) @loop = block end |
#pattern_name(&block) ⇒ Object
40 41 42 43 44 45 46 47 48 |
# 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) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# 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) ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# 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 ->(, arg) { arg } end end |