Class: ScoutApm::Config::BooleanCoercion

Inherits:
Object
  • Object
show all
Defined in:
lib/scout_apm/config.rb

Overview

Any boolean is passed through A string is false iff it is 0 length, is “f”, or “false” - otherwise true An number is false if it is exactly 0 Other types are false

Instance Method Summary collapse

Instance Method Details

#coerce(val) ⇒ Object



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/scout_apm/config.rb', line 46

def coerce(val)
  case val
  when NilClass
    false
  when TrueClass
    val
  when FalseClass
    val
  when String
    coerce_string(val)
  when Numeric
    val != 0
  else
    false
  end
end

#coerce_string(val) ⇒ Object



63
64
65
66
67
68
69
70
# File 'lib/scout_apm/config.rb', line 63

def coerce_string(val)
  val = val.downcase.strip
  return false if val.length == 0
  return false if val == "f"
  return false if val == "false"

  true
end