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/calabash-android/environment.rb, line 108
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/calabash-android/environment.rb, line 83
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/calabash-android/environment.rb, line 49
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/calabash-android/environment.rb, line 101
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/calabash-android/environment.rb, line 65
def self.jenkins?
  value = ENV["JENKINS_HOME"]
  !!value && value != ''
end
skip_version_check?() click to toggle source

@!visibility private Returns true if the server / client version check can be skipped

# File lib/calabash-android/environment.rb, line 43
def self.skip_version_check?
  ENV["SKIP_VERSION_CHECK"] == "1"
end
teamcity?() click to toggle source

@!visibility private Returns true if running in Teamcity

Checks the value of TEAMCITY_PROJECT_NAME

# File lib/calabash-android/environment.rb, line 92
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/calabash-android/environment.rb, line 74
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/calabash-android/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/calabash-android/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/calabash-android/environment.rb, line 57
def self.xtc?
  ENV['XAMARIN_TEST_CLOUD'] == '1'
end

Private Class Methods

ci_var_defined?() click to toggle source

!@visibility private

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