class TestBench::Settings::Environment

Attributes

env[W]
settings[R]

Public Class Methods

build(settings, env=nil) click to toggle source
# File lib/test_bench/settings/environment.rb, line 11
def self.build settings, env=nil
  env ||= ENV

  instance = new settings
  instance.env = env
  instance
end
call(*arguments) click to toggle source
# File lib/test_bench/settings/environment.rb, line 19
def self.call *arguments
  instance = build(*arguments)
  instance.()
end
new(settings) click to toggle source
# File lib/test_bench/settings/environment.rb, line 7
def initialize settings
  @settings = settings
end

Public Instance Methods

abort_on_error() click to toggle source
# File lib/test_bench/settings/environment.rb, line 71
def abort_on_error
  if activated? env['TEST_BENCH_ABORT_ON_ERROR']
    settings.abort_on_error = true
  end
end
activated?(value) click to toggle source
# File lib/test_bench/settings/environment.rb, line 35
def activated? value
  if affirmative_pattern.match value
    true
  elsif value.nil? or negative_pattern.match value
    false
  else
    invalid_boolean value
  end
end
affirmative_pattern() click to toggle source
# File lib/test_bench/settings/environment.rb, line 45
def affirmative_pattern
  @@affirmative_pattern ||= %r{\A(?:on|yes|y|1)\z}i
end
call() click to toggle source
# File lib/test_bench/settings/environment.rb, line 24
def call
  abort_on_error
  color
  exclude_pattern
  reverse_backtraces
  quiet
  record_telemetry
  tests_dir
  verbose
end
color() click to toggle source
# File lib/test_bench/settings/environment.rb, line 49
def color
  if deactivated? env['TEST_BENCH_COLOR']
    settings.color = false
  elsif activated? env['TEST_BENCH_COLOR']
    settings.color = true
  end
end
deactivated?(value) click to toggle source
# File lib/test_bench/settings/environment.rb, line 57
def deactivated? value
  if negative_pattern.match value
    true
  elsif value.nil? or affirmative_pattern.match value
    false
  else
    invalid_boolean value
  end
end
env() click to toggle source
# File lib/test_bench/settings/environment.rb, line 67
def env
  @env ||= {}
end
exclude_pattern() click to toggle source
# File lib/test_bench/settings/environment.rb, line 77
def exclude_pattern
  if pattern = env['TEST_BENCH_EXCLUDE_PATTERN']
    settings.exclude_pattern = pattern
  end
end
invalid_boolean(value) click to toggle source
# File lib/test_bench/settings/environment.rb, line 83
def invalid_boolean value
  raise ArgumentError, %{Invalid boolean value #{value.inspect}; values that are toggled can be set via "on" or "off", "yes" or "no", "y" or "n", or "0" or "1".}
end
negative_pattern() click to toggle source
# File lib/test_bench/settings/environment.rb, line 87
def negative_pattern
  @@negative_pattern ||= %r{\A(?:off|no|n|0)\z}i
end
quiet() click to toggle source
# File lib/test_bench/settings/environment.rb, line 103
def quiet
  if activated? env['TEST_BENCH_QUIET']
    settings.lower_verbosity
    settings.lower_verbosity
  end
end
record_telemetry() click to toggle source
# File lib/test_bench/settings/environment.rb, line 91
def record_telemetry
  if activated? env['TEST_BENCH_RECORD_TELEMETRY']
    settings.record_telemetry = true
  end
end
reverse_backtraces() click to toggle source
# File lib/test_bench/settings/environment.rb, line 97
def reverse_backtraces
  if activated? env['TEST_BENCH_REVERSE_BACKTRACES']
    settings.reverse_backtraces = true
  end
end
tests_dir() click to toggle source
# File lib/test_bench/settings/environment.rb, line 110
def tests_dir
  tests_dir = env['TEST_BENCH_TESTS_DIR']

  settings.tests_dir = tests_dir if tests_dir
end
verbose() click to toggle source
# File lib/test_bench/settings/environment.rb, line 116
def verbose
  if activated? env['TEST_BENCH_VERBOSE']
    settings.raise_verbosity
    settings.raise_verbosity
  end
end