class Calabash::Android::Environment

@!visibility private

Public Class Methods

ci?() click to toggle source

@!visibility private Returns true if running in a CI environment

# File lib/appium_instrumenter/environment.rb, line 102
def self.ci?
  [
    self.ci_var_defined?,
    self.travis?,
    self.jenkins?,
    self.circle_ci?,
    self.teamcity?,
    self.gitlab?
  ].any?
end
circle_ci?() click to toggle source

@!visibility private Returns true if running in Circle CI

Checks the value of CIRCLECI

# File lib/appium_instrumenter/environment.rb, line 77
def self.circle_ci?
  value = ENV["CIRCLECI"]
  !!value && value != ''
end
debug?() click to toggle source

@!visibility private Returns true if debugging is enabled.

# File lib/appium_instrumenter/environment.rb, line 43
def self.debug?
  ENV['DEBUG'] == '1' ||
    ARGV.include?("-v") ||
    ARGV.include?("--verbose")
end
gitlab?() click to toggle source

@!visibility private Returns true if running in Teamcity

Checks the value of GITLAB_CI

# File lib/appium_instrumenter/environment.rb, line 95
def self.gitlab?
  value = ENV["GITLAB_CI"]
  !!value && value != ''
end
jenkins?() click to toggle source

@!visibility private Returns true if running in Jenkins CI

Checks the value of JENKINS_HOME

# File lib/appium_instrumenter/environment.rb, line 59
def self.jenkins?
  value = ENV["JENKINS_HOME"]
  !!value && value != ''
end
teamcity?() click to toggle source

@!visibility private Returns true if running in Teamcity

Checks the value of TEAMCITY_PROJECT_NAME

# File lib/appium_instrumenter/environment.rb, line 86
def self.teamcity?
  value = ENV["TEAMCITY_PROJECT_NAME"]
  !!value && value != ''
end
travis?() click to toggle source

@!visibility private Returns true if running in Travis CI

Checks the value of TRAVIS

# File lib/appium_instrumenter/environment.rb, line 68
def self.travis?
  value = ENV["TRAVIS"]
  !!value && value != ''
end
user_home_directory() click to toggle source

@!visibility private Returns the user home directory

# File lib/appium_instrumenter/environment.rb, line 18
def self.user_home_directory
  if self.xtc?
    home = File.join("./", "tmp", "home")
    FileUtils.mkdir_p(home)
    home
  else
    if self.windows?
      # http://stackoverflow.com/questions/4190930/cross-platform-means-of-getting-users-home-directory-in-ruby
      home = ENV["HOME"] || ENV["USERPROFILE"]
    else
      require "etc"
      home = Etc.getpwuid.dir
    end

    unless File.exist?(home)
      home = File.join("./", "tmp", "home")
      FileUtils.mkdir_p(home)
    end

    home
  end
end
windows?() click to toggle source

@!visibility private Returns true if running on Windows

# File lib/appium_instrumenter/environment.rb, line 12
def self.windows?
  RbConfig::CONFIG['host_os'][/mswin|mingw|cygwin/, 0] != nil
end
xtc?() click to toggle source

@!visibility private Returns true if we are running on the XTC

# File lib/appium_instrumenter/environment.rb, line 51
def self.xtc?
  ENV['XAMARIN_TEST_CLOUD'] == '1'
end

Private Class Methods

ci_var_defined?() click to toggle source

!@visibility private

# File lib/appium_instrumenter/environment.rb, line 116
def self.ci_var_defined?
  value = ENV["CI"]
  !!value && value != ''
end