class Ocman::Permission
Constants
- PERMISSIONS
Attributes
permissions[R]
Public Class Methods
all()
click to toggle source
# File lib/ocman/permission.rb, line 47 def all new(PERMISSIONS.keys) end
new(permissions = [:all])
click to toggle source
# File lib/ocman/permission.rb, line 16 def initialize(permissions = [:all]) @permissions = Set.new(permissions) @permissions = Set.new(PERMISSIONS.keys) if @permissions.include?(:all) raise ArgumentError, "No permission given. Valid permissions are: #{PERMISSIONS.keys}" if @permissions.empty? return if @permissions.all? { |permission| PERMISSIONS.key?(permission) } raise ArgumentError, "Valid permissions are: #{PERMISSIONS.keys}" end
Public Instance Methods
+(other)
click to toggle source
# File lib/ocman/permission.rb, line 32 def +(other) Permission.new(permissions + other.permissions) end
-(other)
click to toggle source
# File lib/ocman/permission.rb, line 36 def -(other) Permission.new(permissions - other.permissions) end
to_i()
click to toggle source
# File lib/ocman/permission.rb, line 26 def to_i @permissions .map { |permission| PERMISSIONS.fetch(permission) } .inject(&:|) || PERMISSIONS[:all] end