Sha256: c1ff4f982057c7288c8c3ba073de232ea7d05d9409e79d198db9a94d21761f12
Contents?: true
Size: 877 Bytes
Versions: 1
Compression:
Stored size: 877 Bytes
Contents
ActiveFedora::QueryMethods.module_eval do extend ActiveSupport::Concern def accessible_by(ability, action = :index) permission_types = case action when :index then [:discover, :read, :edit] when :show, :read then [:read, :edit] when :update, :edit, :create, :new, :destroy then [:edit] end filters = gated_discovery_filters(permission_types, ability).join(" OR ") spawn.where!(filters) end private def gated_discovery_filters(types, ability) search_builder = Hydra::AccessControls::SearchBuilder.new(self, ability: ability, permission_types: types) search_builder.send(:gated_discovery_filters) end end ActiveFedora::Querying.module_eval do delegate :accessible_by, :to=>:all end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hydra-access-controls-11.0.0.rc1 | lib/active_fedora/accessible_by.rb |