def only_mask_for column_name, *fields
      fields = bitfields if fields.empty?
      column = @@bitfields[column_name]
      max = bitfield_max(column_name)
      raise ArgumentError, "Unknown column for bitfield: #{column_name}" if column.nil?

      column.sum do |field_name, range|
        fields.include?(field_name) ? range.invert(max).sum{|i| 2 ** i} : 0
      end
      
      # fields.inject("0" * (bitfield_max(column_name) + 1)) do |mask, field_name|
      #   raise ArugmentError, "Unknown field: #{field_name} for column #{column_name}" if column[field_name].nil?
      #   range = column[field_name]
      #   mask[range] = "1" * range.count
      #   mask
      # end.to_i(2)
    end
def only_mask_for column_name, *fields
      fields = bitfields if fields.empty?
      column = @@bitfields[column_name]
      max = bitfield_max(column_name)
      raise ArgumentError, "Unknown column for bitfield: #{column_name}" if column.nil?

      column.sum do |field_name, range|
        fields.include?(field_name) ? range.invert(max).sum{|i| 2 ** i} : 0
      end
      
      # fields.inject("0" * (bitfield_max(column_name) + 1)) do |mask, field_name|
      #   raise ArugmentError, "Unknown field: #{field_name} for column #{column_name}" if column[field_name].nil?
      #   range = column[field_name]
      #   mask[range] = "1" * range.count
      #   mask
      # end.to_i(2)
    end
Returns an "only mask" for a list of fields

 +only_mask_for :fields

 @example
  user.only_mask_for :field

 @param [ Symbol ] column     name of the column these fields are in
 @param [ Symbol ] field(s) name of the field(s) for the mask