Sha256: a3cc6da3d0d1b427c467fffc56434155f4f579ce92469ded04cbcb8bc1ac710b
Contents?: true
Size: 1.6 KB
Versions: 2
Compression:
Stored size: 1.6 KB
Contents
require 'rbconfig' class SystemWrapper # static method for use in defaults def self.windows? return ((RbConfig::CONFIG['host_os'] =~ /mswin|mingw/) ? true : false) if defined?(RbConfig) return ((Config::CONFIG['host_os'] =~ /mswin|mingw/) ? true : false) end # class method so as to be mockable for tests def windows? return SystemWrapper.windows? end def module_eval(string) return Object.module_eval("\"" + string + "\"") end def eval(string) return eval(string) end def search_paths return ENV['PATH'].split(File::PATH_SEPARATOR) end def cmdline_args return ARGV end def env_set(name, value) ENV[name] = value end def env_get(name) return ENV[name] end def time_now return Time.now.asctime end def shell_backticks(command, boom = true) retval = `#{command}`.freeze $exit_code = ($?.exitstatus).freeze if boom return { :output => retval.freeze, :exit_code => ($?.exitstatus).freeze } end def shell_system(command, boom = true) system( command ) $exit_code = ($?.exitstatus).freeze if boom return { :output => "".freeze, :exit_code => ($?.exitstatus).freeze } end def add_load_path(path) $LOAD_PATH.unshift(path) end def require_file(path) require(path) end def ruby_success return ($exit_code == 0) && ($!.nil? || $!.is_a?(SystemExit) && $!.success?) end def constants_include?(item) # forcing to strings provides consistency across Ruby versions return Object.constants.map{|constant| constant.to_s}.include?(item.to_s) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ceedling-0.27.0 | lib/ceedling/system_wrapper.rb |
ceedling-0.25.0 | lib/ceedling/system_wrapper.rb |