Sha256: 59c8105e91681e502937b09973919cd72356d4b8bf6060d9acf1486be39589bd
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
# frozen_string_literal: true module Hyrax ## # Sets ACLs from a visibility string # # @example # resource = Hyrax::Resource.new # writer = Hyrax::VisibilityWriter.new(resource: resource) # resource.read_groups # => [] # # writer.assign_access_for(visibility: 'open') # resource.read_groups # => ["public"] # # writer.assign_access_for(visibility: 'authenticated') # resource.read_groups # => ["registered"] # class VisibilityWriter ## # @!attribute [rw] resource # @return [Valkyrie::Resource::AccessControls] attr_accessor :resource ## # @param resource [Valkyrie::Resource::AccessControls] def initialize(resource:) self.resource = resource end ## # @param visibility [String] # # @return [void] def assign_access_for(visibility:) resource.read_groups -= visibility_map.deletions_for(visibility: visibility) resource.read_groups += visibility_map.additions_for(visibility: visibility) end def visibility_map Hyrax::VisibilityMap.instance end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hyrax-3.0.0.pre.rc1 | app/services/hyrax/visibility_writer.rb |
hyrax-3.0.0.pre.beta3 | app/services/hyrax/visibility_writer.rb |