def enabled?(*fields)
      memo = true
      field = self.field
      
      fields.flatten.each do |name|
        break unless memo
        memo &&= (read(name, field) >= 1)
      end
      
      memo
    end
def enabled?(*fields)
      memo = true
      field = self.field
      
      fields.flatten.each do |name|
        break unless memo
        memo &&= (read(name, field) >= 1)
      end
      
      memo
    end
Check whether all the given field name or bits are enabled (true or 1)
 On fields with more than one bit, will return true if any of the bits are
 enabled (value > 0)

 @param [Symbol, Integer] fields one or more field names or bit indices

 @example Check fields to see if they are enabled
   # The struct is just an example, normally you would define a new class
   Example = Struct.new('Example', :flags)
   exo = Example.new(0)
   bits = Bits.new(exo, {:is_odd => 0, :amount => [1, 2, 3], :is_cool => 4})
   # we initialized flags to 0, so nothing is enabled
   bits.enabled?(:is_odd) #=> false
   bits.enabled?(:amount, :is_cool) #=> false
   bits.enabled?(10, 5, :is_odd) #=> false

   # We now change flags on our instance object
   exo.flags = 5 # is_odd = 1, amount = 2, is_cool = 0
   bits.enabled?(:is_odd) #=> true
   bits.enabled?(:amount, :is_cool) #=> false
   bits.enabled?(:amount, :is_odd) #=> true
   bits.enabled?(:is_cool) #=> false


 @return [Boolean] true if ALL the given field bits are enabled