class ParamsCollector::Marshaler::BoolMarshaler

Attributes

value[R]

Public Class Methods

new() click to toggle source
# File lib/params_collector/marshaler/bool_marshaler.rb, line 26
def initialize
  @default_value = false
  @value = @default_value
end

Public Instance Methods

set(value) click to toggle source
# File lib/params_collector/marshaler/bool_marshaler.rb, line 31
def set(value)
  @value = @default_value if value.nil?
  @value = check_string(value) if value.is_a?(String)
  @value = true if value.is_a?(TrueClass)
  @value = value.positive? if value.is_a?(Integer) || value.is_a?(Float)
end

Private Instance Methods

check_string(value) click to toggle source
# File lib/params_collector/marshaler/bool_marshaler.rb, line 40
def check_string(value)
  return false if value == ""
  negative_strings = %w(no false off of 0 nil)
  !negative_strings.include?(value.downcase)
end