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



137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'lib/scout_apm/config.rb', line 137

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



154
155
156
157
158
159
160
161
# File 'lib/scout_apm/config.rb', line 154

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