Class: RunLoop::Environment
- Inherits:
-
Object
- Object
- RunLoop::Environment
- Defined in:
- lib/run_loop/environment.rb
Class Method Summary collapse
-
.bundle_id ⇒ Object
Returns the value of BUNDLE_ID.
-
.ci? ⇒ Boolean
Returns true if running in a CI environment.
-
.circle_ci? ⇒ Boolean
Returns true if running in Circle CI.
-
.debug? ⇒ Boolean
Returns true if debugging is enabled.
-
.debug_read? ⇒ Boolean
Returns true if read debugging is enabled.
-
.developer_dir ⇒ Object
Returns the value of DEVELOPER_DIR.
-
.gitlab? ⇒ Boolean
Returns true if running in Teamcity.
-
.jenkins? ⇒ Boolean
Returns true if running in Jenkins CI.
-
.path_to_app_bundle ⇒ Object
Returns to the path to the app bundle (simulator builds).
-
.teamcity? ⇒ Boolean
Returns true if running in Teamcity.
-
.trace_template ⇒ Object
Returns the value of TRACE_TEMPLATE; the Instruments template to use during testing.
-
.travis? ⇒ Boolean
Returns true if running in Travis CI.
-
.uia_timeout ⇒ Object
Returns the value of UIA_TIMEOUT.
-
.user_home_directory ⇒ Object
Returns the user home directory.
-
.with_debugging(debug, &block) ⇒ Object
!@visibility private.
-
.xtc? ⇒ Boolean
Returns true if we are running on the XTC.
Class Method Details
.bundle_id ⇒ Object
Returns the value of BUNDLE_ID
47 48 49 50 51 52 53 54 |
# File 'lib/run_loop/environment.rb', line 47 def self.bundle_id value = ENV['BUNDLE_ID'] if !value || value == '' nil else value end end |
.ci? ⇒ Boolean
Returns true if running in a CI environment
124 125 126 127 128 129 130 131 132 133 |
# File 'lib/run_loop/environment.rb', line 124 def self.ci? [ self.ci_var_defined?, self.travis?, self.jenkins?, self.circle_ci?, self.teamcity?, self.gitlab? ].any? end |
.circle_ci? ⇒ Boolean
Returns true if running in Circle CI
Checks the value of CIRCLECI
102 103 104 105 |
# File 'lib/run_loop/environment.rb', line 102 def self.circle_ci? value = ENV["CIRCLECI"] !!value && value != '' end |
.debug? ⇒ Boolean
Returns true if debugging is enabled.
17 18 19 |
# File 'lib/run_loop/environment.rb', line 17 def self.debug? ENV['DEBUG'] == '1' end |
.debug_read? ⇒ Boolean
Returns true if read debugging is enabled.
22 23 24 |
# File 'lib/run_loop/environment.rb', line 22 def self.debug_read? ENV['DEBUG_READ'] == '1' end |
.developer_dir ⇒ Object
Never call this directly. Always create an Xcode instance and allow it to derive the path to the Xcode toolchain.
Returns the value of DEVELOPER_DIR
74 75 76 77 78 79 80 81 |
# File 'lib/run_loop/environment.rb', line 74 def self.developer_dir value = ENV['DEVELOPER_DIR'] if !value || value == '' nil else value end end |
.gitlab? ⇒ Boolean
Returns true if running in Teamcity
Checks the value of GITLAB_CI
118 119 120 121 |
# File 'lib/run_loop/environment.rb', line 118 def self.gitlab? value = ENV["GITLAB_CI"] !!value && value != '' end |
.jenkins? ⇒ Boolean
Returns true if running in Jenkins CI
Checks the value of JENKINS_HOME
86 87 88 89 |
# File 'lib/run_loop/environment.rb', line 86 def self.jenkins? value = ENV["JENKINS_HOME"] !!value && value != '' end |
.path_to_app_bundle ⇒ Object
Returns to the path to the app bundle (simulator builds).
Both APP_BUNDLE_PATH and APP are checked and in that order.
Use of APP_BUNDLE_PATH is deprecated and will be removed.
61 62 63 64 65 66 67 68 |
# File 'lib/run_loop/environment.rb', line 61 def self.path_to_app_bundle value = ENV['APP_BUNDLE_PATH'] || ENV['APP'] if !value || value == '' nil else File.(value) end end |
.teamcity? ⇒ Boolean
Returns true if running in Teamcity
Checks the value of TEAMCITY_PROJECT_NAME
110 111 112 113 |
# File 'lib/run_loop/environment.rb', line 110 def self.teamcity? value = ENV["TEAMCITY_PROJECT_NAME"] !!value && value != '' end |
.trace_template ⇒ Object
Returns the value of TRACE_TEMPLATE; the Instruments template to use during testing.
33 34 35 |
# File 'lib/run_loop/environment.rb', line 33 def self.trace_template ENV['TRACE_TEMPLATE'] end |
.travis? ⇒ Boolean
Returns true if running in Travis CI
Checks the value of TRAVIS
94 95 96 97 |
# File 'lib/run_loop/environment.rb', line 94 def self.travis? value = ENV["TRAVIS"] !!value && value != '' end |
.uia_timeout ⇒ Object
Returns the value of UIA_TIMEOUT. Use this control how long to wait for instruments to launch and attach to your application.
Non-empty values are converted to a float.
41 42 43 44 |
# File 'lib/run_loop/environment.rb', line 41 def self.uia_timeout timeout = ENV['UIA_TIMEOUT'] timeout ? timeout.to_f : nil end |
.user_home_directory ⇒ Object
Returns the user home directory
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/run_loop/environment.rb', line 5 def self.user_home_directory if self.xtc? home = File.join("./", "tmp", "home") FileUtils.mkdir_p(home) home else require 'etc' Etc.getpwuid.dir end end |
.with_debugging(debug, &block) ⇒ Object
!@visibility private
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
# File 'lib/run_loop/environment.rb', line 136 def self.with_debugging(debug, &block) if debug original_value = ENV['DEBUG'] begin ENV['DEBUG'] = '1' block.call ensure ENV['DEBUG'] = original_value end else block.call end end |
.xtc? ⇒ Boolean
Returns true if we are running on the XTC
27 28 29 |
# File 'lib/run_loop/environment.rb', line 27 def self.xtc? ENV['XAMARIN_TEST_CLOUD'] == '1' end |