def number(att, value, purge = true)
      if value.kind_of?(Enumerable)
        clear_number_field(att)

        value.each { |v| number(att, v, false) } and return
      end
      
      clear_number_field(att)  if purge

      numbers[att].zadd(value, id)
      numbers[att][value].zadd(1, id)
      numbers[id][att].sadd(value)

      fields[NUMBERS].sadd att
    end
def number(att, value, purge = true)
      if value.kind_of?(Enumerable)
        clear_number_field(att)

        value.each { |v| number(att, v, false) } and return
      end
      
      clear_number_field(att)  if purge

      numbers[att].zadd(value, id)
      numbers[att][value].zadd(1, id)
      numbers[id][att].sadd(value)

      fields[NUMBERS].sadd att
    end
Adds a numeric index for `att` with `value`.

 @example

   Lunar.index :Gadget do |i|
     i.id 1001
     i.number :price, 200
   end

   # Executes the ff: in redis:
   
   # ZADD Lunar:Gadget:price 200

 @param [Symbol] att the field name in your document.
 @param [Numeric] value the numeric value of `att`.

 @return [Boolean] whether or not the value was added