app/services/hyrax/visibility_writer.rb in hyrax-3.0.0.pre.rc1 vs app/services/hyrax/visibility_writer.rb in hyrax-3.0.0.pre.rc2

- old
+ new

@@ -15,26 +15,33 @@ # writer.assign_access_for(visibility: 'authenticated') # resource.read_groups # => ["registered"] # class VisibilityWriter ## + # @!attribute [r] permission_manager + # @return [Hyrax::PermissionManager] # @!attribute [rw] resource - # @return [Valkyrie::Resource::AccessControls] + # @return [Valkyrie::Resource] attr_accessor :resource + attr_reader :permission_manager ## - # @param resource [Valkyrie::Resource::AccessControls] + # @param resource [Valkyrie::Resource] def initialize(resource:) - self.resource = resource + self.resource = resource + @permission_manager = resource.permission_manager 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) + permission_manager.read_groups = + permission_manager.read_groups.to_a - visibility_map.deletions_for(visibility: visibility) + + permission_manager.read_groups = + permission_manager.read_groups.to_a + visibility_map.additions_for(visibility: visibility) end def visibility_map Hyrax::VisibilityMap.instance end