Class: Buildkite::Builder::Extensions::Steps
- Inherits:
- 
      Buildkite::Builder::Extension
      
        - Object
- Buildkite::Builder::Extension
- Buildkite::Builder::Extensions::Steps
 
- Defined in:
- lib/buildkite/builder/extensions/steps.rb
Instance Attribute Summary collapse
- 
  
    
      #templates  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute templates. 
Attributes inherited from Buildkite::Builder::Extension
#context, #options, #options_block
Instance Method Summary collapse
- #build_step(step_class, template_name, **args, &block) ⇒ Object
- #prepare ⇒ Object
- #with_group(group, &block) ⇒ Object
Methods inherited from Buildkite::Builder::Extension
Constructor Details
This class inherits a constructor from Buildkite::Builder::Extension
Instance Attribute Details
#templates ⇒ Object (readonly)
Returns the value of attribute templates.
| 5 6 7 | # File 'lib/buildkite/builder/extensions/steps.rb', line 5 def templates @templates end | 
Instance Method Details
#build_step(step_class, template_name, **args, &block) ⇒ Object
| 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # File 'lib/buildkite/builder/extensions/steps.rb', line 12 def build_step(step_class, template_name, **args, &block) template = @templates.find(template_name) step_class.new(**args).tap do |step| step.process(template) if template step.process(block) if block_given? if @current_group @current_group.steps.push(step) else context.data.steps.push(step) end end end | 
#prepare ⇒ Object
| 7 8 9 10 | # File 'lib/buildkite/builder/extensions/steps.rb', line 7 def prepare @templates = TemplateManager.new(context.root) context.data.steps = StepCollection.new end | 
#with_group(group, &block) ⇒ Object
| 27 28 29 30 31 32 33 34 35 36 | # File 'lib/buildkite/builder/extensions/steps.rb', line 27 def with_group(group, &block) raise "Group cannot be nested" if @current_group @current_group = group group.process(block) context.data.steps.push(group).last ensure @current_group = nil end |