Module: PEM::Helper

Defined in:
lib/pem/helper.rb

Class Method Summary collapse

Class Method Details

.is_test?Boolean

Returns true if the currently running program is a unit test.

Returns:

  • (Boolean)

    true if the currently running program is a unit test



38
39
40
# File 'lib/pem/helper.rb', line 38

def self.is_test?
  defined?SpecHelper
end

.logObject

Logging happens using this method



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/pem/helper.rb', line 7

def self.log
  if is_test?
    @@log ||= Logger.new(nil) # don't show any logs when running tests
  else
    @@log ||= Logger.new(STDOUT)
  end

  @@log.formatter = proc do |severity, datetime, progname, msg|
    string = "#{severity} [#{datetime.strftime('%Y-%m-%d %H:%M:%S.%2N')}]: "
    second = "#{msg}\n"

    if severity == "DEBUG"
      string = string.magenta
    elsif severity == "INFO"
      string = string.white
    elsif severity == "WARN"
      string = string.yellow
    elsif severity == "ERROR"
      string = string.red
    elsif severity == "FATAL"
      string = string.red.bold
    end


    [string, second].join("")
  end

  @@log
end

.xcode_pathObject

Returns the full path to the Xcode developer tools of the currently running system.

Returns:

  • the full path to the Xcode developer tools of the currently running system



44
45
46
47
# File 'lib/pem/helper.rb', line 44

def self.xcode_path
  return "" if self.is_test? and not OS.mac?
  `xcode-select -p`.gsub("\n", '') + "/"
end