module Nard::Appi::Client::Util::Module::BooleanNormalizer

Private Instance Methods

normalize_boolean_option( options, key, default: nil ) click to toggle source
# File lib/nard/appi/client/util/module/boolean_normalizer.rb, line 19
def normalize_boolean_option( options, key, default: nil )
  v = nil

  if options.has_key?( key )
    v = options.delete( key )
    v = normalize_boolean_value(v)
  elsif options.has_key?( normalize_key( key ) )
    v = options.delete( normalize_key( key ) )
    v = normalize_boolean_value(v)
  end

  v.nil? ? normalize_boolean_value( default ) : v
end
normalize_boolean_value(v) click to toggle source
# File lib/nard/appi/client/util/module/boolean_normalizer.rb, line 33
def normalize_boolean_value(v)
  if v.instance_of?( String ) or v.instance_of?( Symbol )
    if v.to_s.in?( 't', 'true', 'True', 'TRUE' )
      true
    elsif v.to_s.in?( 'f', 'false', 'False', 'FALSE' )
      false
    else
      nil
    end
  elsif v == true or v == false
    v
  else
    nil
  end
end