class Burner::Cli
Process a single string as a Pipeline
. This is mainly to back the command-line interface.
Attributes
payload[R]
pipeline[R]
Public Class Methods
new(args)
click to toggle source
# File lib/burner/cli.rb, line 17 def initialize(args) path = args.first params = extract_cli_params(args) config = read_yaml(path) @pipeline = Burner::Pipeline.make(jobs: config['jobs'], steps: config['steps']) @payload = Payload.new(params: params) freeze end
Public Instance Methods
execute()
click to toggle source
# File lib/burner/cli.rb, line 27 def execute pipeline.execute(payload: payload) end
Private Instance Methods
extract_cli_params(args)
click to toggle source
# File lib/burner/cli.rb, line 39 def extract_cli_params(args) args[1..-1].each_with_object({}) do |arg, memo| parts = arg.to_s.split('=') memo[parts.first] = parts.last end end
read_yaml(path)
click to toggle source
# File lib/burner/cli.rb, line 33 def read_yaml(path) yaml = IO.read(path) YAML.safe_load(yaml) end