Module: AccessControl::CommonMethods

Defined in:
lib/access_control/common_methods.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



4
5
6
7
8
# File 'lib/access_control/common_methods.rb', line 4

def self.included(klass)
  klass.class_eval do
    alias_method :authorize, :grant
  end
end

Instance Method Details

#cannot?(perm) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/access_control/common_methods.rb', line 24

def cannot? perm
  !has_permission? perm
end

#deauthorize(perm) ⇒ Object



17
18
19
20
21
22
# File 'lib/access_control/common_methods.rb', line 17

def deauthorize perm
  self.permission = Permission.create if self.permission.nil?
  perm = perm.to_s if perm.is_a? Symbol
  raise "Permission (#{perm}) does not exist" unless self.permission.respond_to? perm.to_sym
  self.permission.update_attribute(perm,false)
end

#god?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/access_control/common_methods.rb', line 28

def god?
  has_permission? :god
end

#grant(perm) ⇒ Object



10
11
12
13
14
15
# File 'lib/access_control/common_methods.rb', line 10

def grant(perm)
  self.permission = Permission.create if self.permission.nil?
  perm = perm.to_s if perm.is_a? Symbol
  raise "Permission (#{perm}) does not exist" unless self.permission.respond_to? perm.to_sym
  self.permission.update_attribute(perm,true)
end

#has_local_permission?(perm) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
35
36
37
38
# File 'lib/access_control/common_methods.rb', line 32

def has_local_permission? perm  	    
  perm = perm.to_s if perm.is_a? Symbol
  raise "Permission (#{perm}) does not exist" unless Permission.new.respond_to? perm.to_sym
  return false if self.permission.nil?
  return true if self.permission.god
  self.permission.send(perm)  
end