Sha256: 91f37fa793e70b451dea783b9d0be07d45c88b56ed0a65be2dacced842aac495
Contents?: true
Size: 761 Bytes
Versions: 8
Compression:
Stored size: 761 Bytes
Contents
# frozen_string_literal: true require 'dry/monads' module Hyrax module Transactions module Steps ## # Saves the Hyrax::AccessControlList for any resource with a `#permission_manager`. # If `#permission_manager` is undefined, succeeds. # # @see https://dry-rb.org/gems/dry-monads/1.0/result/ class SaveAccessControl include Dry::Monads[:result] ## # @param [Valkyrie::Resource] obj # # @return [Dry::Monads::Result] def call(obj) return Success(obj) unless obj.respond_to?(:permission_manager) obj.permission_manager&.acl&.save || (return Failure[:failed_to_save_acl, acl]) Success(obj) end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems