class Ddr::Auth::CollectionAbilityDefinitions
Public Instance Methods
call()
click to toggle source
# File lib/ddr/auth/ability_definitions/collection_ability_definitions.rb, line 5 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 Instance Methods
has_policy_permission?(obj, perm)
click to toggle source
# File lib/ddr/auth/ability_definitions/collection_ability_definitions.rb, line 22 def has_policy_permission?(obj, perm) policy_permissions(obj).include?(perm) end
policy_permissions(obj)
click to toggle source
# File lib/ddr/auth/ability_definitions/collection_ability_definitions.rb, line 16 def policy_permissions(obj) obj.policy_roles .select { |r| agents.include?(r.agent) } .map(&:permissions).flatten.uniq end