class Hash
Convert hash of booleans to Switch
Public Instance Methods
to_switch(labels = {})
click to toggle source
# File lib/bitswitch.rb, line 210 def to_switch(labels = {}) # Remove any non boolean values cleaned = self.delete_if{|k,v| ![true, false, 1, 0, '1', '0'].include?(v)} # Convert Numerical Booleans cleaned = cleaned.inject({}) do |o,(k,v)| o[k] = v.is_a?(String) ? v.to_i : v o[k] = v.is_a?(Fixnum) ? !v.zero? : v o end # Return new BitSwitch return BitSwitch.new(0, labels) if cleaned.empty? return BitSwitch.new(cleaned, labels) end