class MijDiscord::Data::Permissions

Constants

FLAGS

Attributes

bits[R]
to_i[R]

Public Class Methods

bits(list) click to toggle source
# File lib/mij-discord/data/permissions.rb, line 40
def self.bits(list)
  FLAGS.map {|bit, name| list.include?(name) ? bit : 0 }.reduce(&:|)
end
flags(bits) click to toggle source
# File lib/mij-discord/data/permissions.rb, line 44
def self.flags(bits)
  Set.new(FLAGS.map {|bit, name| (bits & bit).zero? ? nil : name }.reject(&:nil?))
end
new(bits = 0) click to toggle source
# File lib/mij-discord/data/permissions.rb, line 64
def initialize(bits = 0)
  set_bits(bits)
end

Public Instance Methods

bits=(bits)
Alias for: set_bits
flags() click to toggle source
# File lib/mij-discord/data/permissions.rb, line 79
def flags
  Permissions.flags(@bits)
end
inspect() click to toggle source
# File lib/mij-discord/data/permissions.rb, line 83
def inspect
  %(#<Permissions #{flags.to_a}>)
end
set_bits(bits) click to toggle source
# File lib/mij-discord/data/permissions.rb, line 68
def set_bits(bits)
  @bits = bits.is_a?(Array) ? Permissions.bits(bits) : bits

  FLAGS.each do |bit, name|
    flag = !(@bits & bit).zero?
    instance_variable_set "@#{name}", flag
  end
end
Also aliased as: bits=