Class: SpudRole

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

Instance Method Summary collapse

Instance Method Details

#permission_tagsObject



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

def permission_tags
  return self.permissions.collect(&:tag)
end

#permission_tags=(tags) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'app/models/spud_role.rb', line 17

def permission_tags=(tags)
  self.spud_role_permissions.each do |role_permission|
    if role_permission.permission.nil? || !tags.include?(role_permission.permission.tag)
      role_permission.destroy()
    else
      tags.delete(role_permission.permission.tag)
    end
  end
  self.spud_role_permissions += tags.collect{ |tag| SpudRolePermission.new(:spud_permission_tag => tag) }
end

#permissionsObject



9
10
11
# File 'app/models/spud_role.rb', line 9

def permissions
  self.spud_role_permissions.collect(&:permission).reject(&:blank?)
end

#permissions=(permissions_list) ⇒ Object



13
14
15
# File 'app/models/spud_role.rb', line 13

def permissions=(permissions_list)
  self.permission_tags = permissions_list.collect(&:tag)
end