class KnapsackPro::Config::Env
Constants
- LOG_LEVELS
Public Class Methods
branch()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 44 def branch env_for('KNAPSACK_PRO_BRANCH', :branch) end
branch_encrypted()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 134 def branch_encrypted ENV['KNAPSACK_PRO_BRANCH_ENCRYPTED'] end
branch_encrypted?()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 138 def branch_encrypted? branch_encrypted == 'true' end
ci?()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 282 def ci? ENV.fetch('CI', 'false').downcase == 'true' || detected_ci != KnapsackPro::Config::CI::Base end
ci_node_build_id()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 23 def ci_node_build_id env_name = 'KNAPSACK_PRO_CI_NODE_BUILD_ID' env_for(env_name, :node_build_id) || raise("Missing environment variable #{env_name}. Read more at #{KnapsackPro::Urls::KNAPSACK_PRO_CI_NODE_BUILD_ID}") end
ci_node_index()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 19 def ci_node_index (env_for('KNAPSACK_PRO_CI_NODE_INDEX', :node_index) || 0).to_i end
ci_node_retry_count()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 29 def ci_node_retry_count (env_for('KNAPSACK_PRO_CI_NODE_RETRY_COUNT', :node_retry_count) || 0).to_i end
ci_node_total()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 15 def ci_node_total (env_for('KNAPSACK_PRO_CI_NODE_TOTAL', :node_total) || 1).to_i end
ci_provider()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 262 def ci_provider detected_ci.new.ci_provider end
commit_hash()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 40 def commit_hash env_for('KNAPSACK_PRO_COMMIT_HASH', :commit_hash) end
cucumber_queue_prefix()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 187 def cucumber_queue_prefix ENV.fetch('KNAPSACK_PRO_CUCUMBER_QUEUE_PREFIX', 'bundle exec') end
detected_ci()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 252 def detected_ci detected = KnapsackPro::Config::CI.constants.map do |constant| Object.const_get("KnapsackPro::Config::CI::#{constant}").new.detected end .compact .first detected || KnapsackPro::Config::CI::Base end
endpoint()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 146 def endpoint env_name = 'KNAPSACK_PRO_ENDPOINT' return ENV[env_name] if ENV[env_name] case mode when :development 'http://api.knapsackpro.test:3000' when :test 'https://api-staging.knapsackpro.com' when :production 'https://api.knapsackpro.com' else required_env(env_name) end end
fallback_mode_enabled()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 118 def fallback_mode_enabled ENV.fetch('KNAPSACK_PRO_FALLBACK_MODE_ENABLED', true) end
fallback_mode_enabled?()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 122 def fallback_mode_enabled? fallback_mode_enabled.to_s == 'true' end
fallback_mode_error_exit_code()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 287 def fallback_mode_error_exit_code ENV.fetch('KNAPSACK_PRO_FALLBACK_MODE_ERROR_EXIT_CODE', 1).to_i end
fixed_queue_split()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 170 def fixed_queue_split @fixed_queue_split ||= begin env_name = 'KNAPSACK_PRO_FIXED_QUEUE_SPLIT' computed = env_for(env_name, :fixed_queue_split).to_s if !ENV.key?(env_name) KnapsackPro.logger.info("#{env_name} is not set. Using default value: #{computed}. Learn more at #{KnapsackPro::Urls::FIXED_QUEUE_SPLIT}") end computed end end
fixed_queue_split?()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 183 def fixed_queue_split? fixed_queue_split.to_s == 'true' end
fixed_test_suite_split()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 162 def fixed_test_suite_split ENV.fetch('KNAPSACK_PRO_FIXED_TEST_SUITE_SPLIT', true) end
fixed_test_suite_split?()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 166 def fixed_test_suite_split? fixed_test_suite_split.to_s == 'true' end
log_dir()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 270 def log_dir ENV['KNAPSACK_PRO_LOG_DIR'] end
log_level()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 266 def log_level LOG_LEVELS[ENV['KNAPSACK_PRO_LOG_LEVEL'].to_s.downcase] || ::Logger::INFO end
masked_user_seat()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 56 def masked_user_seat return unless user_seat KnapsackPro::MaskString.call(user_seat) end
max_request_retries()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 33 def max_request_retries number = ENV['KNAPSACK_PRO_MAX_REQUEST_RETRIES'] if number number.to_i end end
mode()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 241 def mode mode = ENV['KNAPSACK_PRO_MODE'] return :production if mode.nil? mode = mode.to_sym if [:development, :test, :production].include?(mode) mode else raise ArgumentError.new('Wrong mode name') end end
project_dir()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 48 def project_dir env_for('KNAPSACK_PRO_PROJECT_DIR', :project_dir) end
queue_id()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 110 def queue_id ENV['KNAPSACK_PRO_QUEUE_ID'] || raise('Missing Queue ID') end
queue_recording_enabled()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 102 def queue_recording_enabled ENV['KNAPSACK_PRO_QUEUE_RECORDING_ENABLED'] end
queue_recording_enabled?()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 106 def queue_recording_enabled? queue_recording_enabled == 'true' end
recording_enabled()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 90 def recording_enabled ENV['KNAPSACK_PRO_RECORDING_ENABLED'] end
recording_enabled?()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 94 def recording_enabled? recording_enabled == 'true' end
regular_mode?()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 98 def regular_mode? recording_enabled? end
repository_adapter()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 86 def repository_adapter ENV['KNAPSACK_PRO_REPOSITORY_ADAPTER'] end
rspec_split_by_test_examples?()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 191 def rspec_split_by_test_examples? return @rspec_split_by_test_examples if defined?(@rspec_split_by_test_examples) split = ENV.fetch('KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES', false).to_s == 'true' if split && ci_node_total < 2 KnapsackPro.logger.debug('Skipping split of test files by test examples because you are running tests on a single CI node (no parallelism)') @rspec_split_by_test_examples = false else @rspec_split_by_test_examples = split end end
rspec_test_example_detector_prefix()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 204 def rspec_test_example_detector_prefix ENV.fetch('KNAPSACK_PRO_RSPEC_TEST_EXAMPLE_DETECTOR_PREFIX', 'bundle exec') end
salt()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 142 def salt required_env('KNAPSACK_PRO_SALT') end
set_test_runner_adapter(adapter_class)
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 278 def set_test_runner_adapter(adapter_class) ENV['KNAPSACK_PRO_TEST_RUNNER_ADAPTER'] = adapter_class.to_s.split('::').last end
slow_test_file_pattern()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 66 def slow_test_file_pattern ENV['KNAPSACK_PRO_SLOW_TEST_FILE_PATTERN'] end
slow_test_file_threshold()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 208 def slow_test_file_threshold ENV.fetch('KNAPSACK_PRO_SLOW_TEST_FILE_THRESHOLD', nil)&.to_f end
slow_test_file_threshold?()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 212 def slow_test_file_threshold? !!slow_test_file_threshold end
subset_queue_id()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 114 def subset_queue_id ENV['KNAPSACK_PRO_SUBSET_QUEUE_ID'] || raise('Missing Subset Queue ID') end
test_dir()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 82 def test_dir ENV['KNAPSACK_PRO_TEST_DIR'] end
test_file_exclude_pattern()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 70 def test_file_exclude_pattern ENV['KNAPSACK_PRO_TEST_FILE_EXCLUDE_PATTERN'] end
test_file_list()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 74 def test_file_list ENV['KNAPSACK_PRO_TEST_FILE_LIST'] end
test_file_list_source_file()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 78 def test_file_list_source_file ENV['KNAPSACK_PRO_TEST_FILE_LIST_SOURCE_FILE'] end
test_file_pattern()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 62 def test_file_pattern ENV['KNAPSACK_PRO_TEST_FILE_PATTERN'] end
test_files_encrypted()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 126 def test_files_encrypted ENV['KNAPSACK_PRO_TEST_FILES_ENCRYPTED'] end
test_files_encrypted?()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 130 def test_files_encrypted? test_files_encrypted == 'true' end
test_runner_adapter()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 274 def test_runner_adapter ENV['KNAPSACK_PRO_TEST_RUNNER_ADAPTER'] end
test_suite_token()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 216 def test_suite_token env_name = 'KNAPSACK_PRO_TEST_SUITE_TOKEN' ENV[env_name] || raise("Missing environment variable #{env_name}. You should set environment variable like #{env_name}_RSPEC (note there is suffix _RSPEC at the end). knapsack_pro gem will set #{env_name} based on #{env_name}_RSPEC value. If you use other test runner than RSpec then use proper suffix.") end
test_suite_token_cucumber()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 233 def test_suite_token_cucumber ENV['KNAPSACK_PRO_TEST_SUITE_TOKEN_CUCUMBER'] end
test_suite_token_minitest()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 225 def test_suite_token_minitest ENV['KNAPSACK_PRO_TEST_SUITE_TOKEN_MINITEST'] end
test_suite_token_rspec()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 221 def test_suite_token_rspec ENV['KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC'] end
test_suite_token_spinach()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 237 def test_suite_token_spinach ENV['KNAPSACK_PRO_TEST_SUITE_TOKEN_SPINACH'] end
test_suite_token_test_unit()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 229 def test_suite_token_test_unit ENV['KNAPSACK_PRO_TEST_SUITE_TOKEN_TEST_UNIT'] end
user_seat()
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 52 def user_seat env_for('KNAPSACK_PRO_USER_SEAT', :user_seat) end
Private Class Methods
ci_env_for(env_name)
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 308 def ci_env_for(env_name) detected_ci.new.send(env_name) end
env_for(knapsack_env_name, ci_env_method)
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 297 def env_for(knapsack_env_name, ci_env_method) knapsack_env_value = ENV[knapsack_env_name] ci_env_value = ci_env_for(ci_env_method) if !knapsack_env_value.nil? && !ci_env_value.nil? && knapsack_env_value != ci_env_value.to_s KnapsackPro.logger.info("You have set the environment variable #{knapsack_env_name} to #{knapsack_env_value} which could be automatically determined from the CI environment as #{ci_env_value}.") end knapsack_env_value != nil ? knapsack_env_value : ci_env_value end
required_env(env_name)
click to toggle source
# File lib/knapsack_pro/config/env.rb, line 293 def required_env(env_name) ENV[env_name] || raise("Missing environment variable #{env_name}") end