Module: TestBench::Environment::Boolean
- Defined in:
- lib/test_bench/environment/boolean.rb
Constant Summary collapse
- Error =
Class.new(RuntimeError)
Class Method Summary collapse
- .false_pattern ⇒ Object
- .fetch(env_var, default_value = nil, env: nil) ⇒ Object
- .get(env_var, env: nil) ⇒ Object
- .true_pattern ⇒ Object
Class Method Details
.false_pattern ⇒ Object
35 36 37 |
# 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) ⇒ Object
6 7 8 9 10 11 12 |
# 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) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# 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 ⇒ Object
31 32 33 |
# 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 |