Sha256: b5b0204723d4e20ad22ce1509179423feb02b9fc0821b7347eca7a8a87e7b3a0
Contents?: true
Size: 635 Bytes
Versions: 42
Compression:
Stored size: 635 Bytes
Contents
module Ddr module Auth class CollectionAbilityDefinitions < AbilityDefinitions def call if member_of? Ddr::Auth.collection_creators_group can :create, Ddr::Collection end can :export, Ddr::Collection do |obj| has_policy_permission?(obj, Permissions::READ) end end private def policy_permissions(obj) obj.policy_roles .select { |r| agents.include?(r.agent) } .map(&:permissions).flatten.uniq end def has_policy_permission?(obj, perm) policy_permissions(obj).include?(perm) end end end end
Version data entries
42 entries across 42 versions & 1 rubygems