Module: VastSd::Vast

Included in:
Config, Start
Defined in:
lib/vast-sd/vast.rb

Instance Method Summary collapse

Instance Method Details

#vast_cmd(*params) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/vast-sd/vast.rb', line 9

def vast_cmd(*params)
  spinner = TTY::Spinner.new(clear: true)
  spinner.auto_spin

  cmd = TTY::Command.new(printer: :null)

  params = params.map do |param|
    Shellwords.escape(param)
  end

  output, error = cmd.run("vast #{params.join(" ")} --raw 2> /dev/null")

  # Cleanup output
  output = output.gsub(/.+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHh/m, '')

  spinner.stop

  begin
    JSON.parse(output)
  rescue JSON::ParserError
    output
  end
end