Sha256: 91ca1b8cf4109489f9eb82543fb038ed5735f26183f8f43b02061d64a713570c
Contents?: true
Size: 720 Bytes
Versions: 3
Compression:
Stored size: 720 Bytes
Contents
module Faalis # This concern contains all the permission related methods # to use within `Faalis::User` module Concerns::User::Permission extend ActiveSupport::Concern def member_of?(group) @group_ids ||= self.groups.all.map(&:id) @group_ids.include? group.id end def have_permission? action, obj perm = self.groups.includes(:permissions) .where(faalis_permissions: { model: obj, permission_type: action }) .count perm == 1 end def can_not? action, obj !have_permission? action, obj end alias_method :can?, :have_permission? def permissions groups.includes(:permissions).map(&:permissions).flatten.uniq end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
faalis-2.0.0.rc3 | app/models/faalis/concerns/user/permission.rb |
faalis-2.0.0.rc2 | app/models/faalis/concerns/user/permission.rb |
faalis-1.0.0 | app/models/faalis/concerns/user/permission.rb |