Class: Browserctl::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/browserctl/runner.rb

Constant Summary collapse

SEARCH_PATHS =
[
  "./.browserctl/workflows",
  File.expand_path("~/.browserctl/workflows")
].freeze

Instance Method Summary collapse

Instance Method Details

#describe_workflow(name) ⇒ Object



25
26
27
28
# File 'lib/browserctl/runner.rb', line 25

def describe_workflow(name)
  defn = fetch_workflow(name)
  { name: defn.name, desc: defn.description, params: format_params(defn), steps: defn.steps.map(&:first) }
end

#list_workflowsObject



20
21
22
23
# File 'lib/browserctl/runner.rb', line 20

def list_workflows
  load_all_workflows
  REGISTRY.map { |name, defn| { name: name, desc: defn.description } }
end

#run_workflow(name, **params) ⇒ Object



13
14
15
16
17
18
# File 'lib/browserctl/runner.rb', line 13

def run_workflow(name, **params)
  defn    = fetch_workflow(name)
  results = defn.call(params, Client.new)
  print_results(results)
  results.all?(&:ok)
end