Class: ExecuteCommand
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 |