module TestBench::Environment::Boolean

Constants

Error

Public Class Methods

false_pattern() click to toggle source
# File lib/test_bench/environment/boolean.rb, line 35
def self.false_pattern
  @false_pattern ||= %r{\A(?:off|no|n|false|f|0)\z}ni
end
fetch(env_var, default_value=nil, env: nil) click to toggle source
# File lib/test_bench/environment/boolean.rb, line 6
def self.fetch(env_var, default_value=nil, env: nil)
  value = get(env_var, env: env)

  return default_value if value.nil?

  value
end
get(env_var, env: nil) click to toggle source
# File lib/test_bench/environment/boolean.rb, line 14
def self.get(env_var, env: nil)
  env ||= ::ENV

  return nil unless env.key?(env_var)

  text_value = env.fetch(env_var)

  case text_value
  when true_pattern
    true
  when false_pattern
    false
  else
    raise Error, "Invalid boolean value for ENV variable #{env_var.inspect} (Value: #{text_value.inspect})"
  end
end
true_pattern() click to toggle source
# File lib/test_bench/environment/boolean.rb, line 31
def self.true_pattern
  @true_pattern ||= %r{\A(?:on|yes|y|true|t|1)\z}ni
end