Class: Jrf::PipelineParser

Inherits:
Object
  • Object
show all
Defined in:
lib/jrf/pipeline_parser.rb

Instance Method Summary collapse

Constructor Details

#initialize(source) ⇒ PipelineParser

Returns a new instance of PipelineParser.



5
6
7
# File 'lib/jrf/pipeline_parser.rb', line 5

def initialize(source)
  @source = source.to_s
end

Instance Method Details

#parseObject

Raises:

  • (ArgumentError)


9
10
11
12
13
# File 'lib/jrf/pipeline_parser.rb', line 9

def parse
  stages = split_top_level_pipeline(@source).map(&:strip).reject(&:empty?)
  raise ArgumentError, "empty expression" if stages.empty?
  { stages: stages.map { |stage| parse_stage!(stage) } }
end