Class: GroupPermission

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/group_permission.rb

Defined Under Namespace

Classes: Permission

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.add_permission(key, options = {}) ⇒ Object



19
20
21
22
# File 'app/models/group_permission.rb', line 19

def add_permission(key, options = {})
  p = Permission.new(key, options)
  permissions_hash[p.key] = p unless permissions_hash.key?(p.key)
end

.permission(key) ⇒ Object



33
34
35
36
37
# File 'app/models/group_permission.rb', line 33

def permission(key)
  key = key.to_s
  return permissions_hash[key] if permissions_hash.key?(key)
  raise "Not found \"#{key}\" in GroupPermission::permissions"
end

.permission?(permission, user = false) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
31
# File 'app/models/group_permission.rb', line 28

def permission?(permission, user = false)
  return permission_by_hash?(permission, user) if permission.is_a?(Hash)
  permission(permission).user_has?(user || User.current)
end

.permission_description(key) ⇒ Object



24
25
26
# File 'app/models/group_permission.rb', line 24

def permission_description(key)
  permission(key).description
end

.permissionsObject



15
16
17
# File 'app/models/group_permission.rb', line 15

def permissions
  permissions_hash.values
end

Instance Method Details

#permission=(value) ⇒ Object



10
11
12
# File 'app/models/group_permission.rb', line 10

def permission=(value)
  self[:permission] = Permission.sanitize_key(value)
end