Class: Gritano::Core::Permission

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/gritano-core/permission.rb

Constant Summary collapse

READ =
1
WRITE =
2

Instance Method Summary collapse

Instance Method Details

#add_access(type) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/gritano-core/permission.rb', line 11

def add_access(type)
  if type == :read
    self.access = READ | (self.access || 0)
  elsif type == :write
    self.access = WRITE | (self.access || 0)
  else
    return false
  end
  return true
end

#is(type) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/gritano-core/permission.rb', line 33

def is(type)
  if type == :read
    return (self.access & READ) == READ
  elsif type == :write
    return (self.access & WRITE) == WRITE
  end
end

#remove_access(access) ⇒ Object



22
23
24
25
26
27
28
29
30
31
# File 'lib/gritano-core/permission.rb', line 22

def remove_access(access)
  if access == :read
    self.access = (self.access || 0) & (~ READ)
  elsif access == :write
    self.access = (self.access || 0) & (~ WRITE)
  else
    return false
  end
  return true
end