Class: ExecuteCommand

Inherits:
Command show all
Defined in:
lib/execute_command.rb

Instance Method Summary collapse

Instance Method Details

#execute(session, cmd, log) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/execute_command.rb', line 2

def execute(session, cmd, log)
  path = cmd.scan(/curl (.*)/).flatten.first

  curl_cmd = "curl #{session['url']}/#{path} #{session['parts'].join(' ')}"

  out, err, status = Open3.capture3(curl_cmd)

  log.log_cmd(curl_cmd)

  if status.success?
    data =
      begin
        JSON.pretty_generate(JSON.parse(out))
      rescue JSON::ParserError => e
        out
      end

    log.log_data_success(data)
  else
    log.log_data_error(err)
  end
end