Bitmask

Bitmask extends the Integer class to allow for easy manipulation of a number as a bit field.

  0xb0100.clear_bit(3)  #=> 0
Methods
Public Class methods
cast_from(object, options={})
# File lib/facets/more/typecast.rb, line 144
    def cast_from(object, options={})
      retval = super
      return retval unless retval == nil
      return object.to_i if object.respond_to? :to_i
    end
Public Instance methods
bit?(bit)

Alias for test_bit

bit_set?(bit)

Alias for test_bit

bitmask?(mask)

Alias for test_bitmask

clear_bit(bit)
# File lib/facets/more/bitmask.rb, line 41
  def clear_bit(bit)
    mask = (1 << bit)
    self & ~mask
  end
clear_bitmask(mask)
# File lib/facets/more/bitmask.rb, line 46
  def clear_bitmask(mask)
    self & ~mask
  end
set_bit(bit)
# File lib/facets/more/bitmask.rb, line 32
  def set_bit(bit)
    mask = (1 << bit)
    self | mask
  end
set_bitmask(mask)
# File lib/facets/more/bitmask.rb, line 37
  def set_bitmask(mask)
    self | mask
  end
test_bit(bit)
This method is also aliased as bit? bit_set?
# File lib/facets/more/bitmask.rb, line 50
  def test_bit(bit)
    mask = (1 << bit)
    (self & mask) != 0
  end
test_bitmask(mask)
This method is also aliased as bitmask?
# File lib/facets/more/bitmask.rb, line 57
  def test_bitmask(mask)
    (self & mask) != 0
  end
to_json(*)

Returns a JSON string representation for this Integer number.

# File lib/facets/more/json.rb, line 585
  def to_json(*) to_s end