Module: FastlaneCore::Helper

Defined in:
lib/fastlane_core/helper.rb

Class Method Summary collapse

Class Method Details

.fastlane_enabled?Boolean



68
69
70
71
# File 'lib/fastlane_core/helper.rb', line 68

def self.fastlane_enabled?
  # This is called from the root context on the first start
  @@enabled ||= File.directory?"./fastlane"
end

.gem_path(gem_name) ⇒ Object

Path to the installed gem to load resources (e.g. resign.sh)



74
75
76
77
78
79
80
# File 'lib/fastlane_core/helper.rb', line 74

def self.gem_path(gem_name)
  if not Helper.is_test? and Gem::Specification::find_all_by_name(gem_name).any?
    return Gem::Specification.find_by_name(gem_name).gem_dir
  else
    return './'
  end
end

.is_test?Boolean

Use Helper.test? instead



52
53
54
# File 'lib/fastlane_core/helper.rb', line 52

def self.is_test?
  self.test?
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
# File 'lib/fastlane_core/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

.log_alert(text) ⇒ Object

This method can be used to add nice lines around the actual log Use this to log more important things The logs will be green automatically



39
40
41
42
43
44
# File 'lib/fastlane_core/helper.rb', line 39

def self.log_alert(text)
  i = text.length + 4
  Helper.log.info(("-" * i).green)
  Helper.log.info("- ".green + text.green + " -".green)
  Helper.log.info(("-" * i).green)
end

.test?Boolean



47
48
49
# File 'lib/fastlane_core/helper.rb', line 47

def self.test?
  defined?SpecHelper
end

.transporter_pathObject



64
65
66
# File 'lib/fastlane_core/helper.rb', line 64

def self.transporter_path
  self.xcode_path + '../Applications/Application\ Loader.app/Contents/MacOS/itms/bin/iTMSTransporter'
end

.xcode_pathObject



58
59
60
61
# File 'lib/fastlane_core/helper.rb', line 58

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