Sha256: 17af72d270d5d76b93c3c5df9f000bc1788860aa6871014c579263977760d75c
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
require 'logger' require 'socket' module Yacli class Base def init_logger(log_path = nil) output_file = log_path.nil? ? STDOUT : log_path logger = Logger.new(output_file) logger.level = (!ENV['DEBUG'].nil?) ? Logger::DEBUG : Logger::INFO logger.debug "logger.level: #{logger.level}" logger end def error_exit(msg, exit_code = 1) @log.error msg raise ExecutionError end def pass_cli(cmd, valid_out_pattern = nil) cmd += ' 2>&1' @log.debug "running cmd: #{cmd}" cmd_out = `#{cmd}` success_exec = $?.success? @log.info "cmd_out: #{cmd_out}" @log.debug "success_exec: #{success_exec}" valid_content = valid_out_pattern.nil? ? true : !cmd_out.match(/#{valid_out_pattern}/).nil? @log.debug "valid_content: #{valid_content}" raise InvalidExitCodeError.new(cmd_out) if !success_exec raise InvalidContentError.new(cmd_out) if !valid_content { :success => success_exec, :output => cmd_out } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
yacli-0.1.8 | lib/yacli/base.rb |