Method: Authorize::Bitmask.enum

Defined in:
lib/authorize/bitmask.rb

.enum(mask) ⇒ Object

Enumerates all operations included in the given mask

Raises:

  • (RangeError)


29
30
31
32
# File 'lib/authorize/bitmask.rb', line 29

def enum(mask)
  raise RangeError, "Unnamed bits in mask (#{mask.to_s(2)})" unless (mask | max) == max
  name_values.inject(Set[]){|s, (p, v)| s << p if (v == (mask & v)); s }
end