Sha256: da2c457b415010581e5b96b9733013abfb798db4fd186088a76795dc1733e176

Contents?: true

Size: 1.17 KB

Versions: 4

Compression:

Stored size: 1.17 KB

Contents

require 'logger'

module Produce
  module Helper

    # Logging happens using this method
    def self.log
      if is_test?
        @@log ||= Logger.new(STDOUT) # 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

    # @return true if the currently running program is a unit test
    def self.is_test?
      defined?SpecHelper
    end

    # @return the full path to the Xcode developer tools of the currently
    #  running system
    def self.xcode_path
      return "" if self.is_test? and not OS.mac?
      `xcode-select -p`.gsub("\n", '') + "/"
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
produce-0.1.3 lib/produce/helper.rb
produce-0.1.2 lib/produce/helper.rb
produce-0.1.1 lib/produce/helper.rb
produce-0.1.0 lib/produce/helper.rb