class EZAPIClient::ExecCommand
Public Class Methods
call(command, logger = nil)
click to toggle source
# File lib/ezapi_client/services/exec_command.rb, line 7 def self.call(command, logger = nil) self.new(command: command).(logger) end
Public Instance Methods
call(logger = nil)
click to toggle source
# File lib/ezapi_client/services/exec_command.rb, line 11 def call(logger = nil) stdout_str, stderr_str, status = Open3.capture3(command) unless status.success? error_msgs = [ stdout_str, stderr_str, ].reject { |str| str == "" }.compact.join("; ") msg = ["Error executing command:", error_msgs].join(" ") logger.error(EZAPIClient::LOG_PROGNAME) { msg } if logger fail ArgumentError, msg end stdout_str.chomp end