Sha256: 6f7a9f432380bf90ad6c9a39d1718590858bfc4c451c3a1ff59e78bf14902ef1
Contents?: true
Size: 975 Bytes
Versions: 14
Compression:
Stored size: 975 Bytes
Contents
# frozen_string_literal: true require 'dry/monads' module Hyrax module Transactions module Steps ## # Adds a Hyrax::FileSet # # @see https://wiki.lyrasis.org/display/samvera/Hydra::Works+Shared+Modeling class AddFileSets include Dry::Monads[:result] ## # @param [Class] handler def initialize(handler: Hyrax::WorkUploadsHandler) @handler = handler end ## # @param [Hyrax::Work] obj # @param [Enumerable<UploadedFile>] uploaded_files # @param [Enumerable<Hash>] file_set_params # # @return [Dry::Monads::Result] def call(obj, uploaded_files: [], file_set_params: []) if @handler.new(work: obj).add(files: uploaded_files, file_set_params: file_set_params).attach Success(obj) else Failure[:failed_to_attach_file_sets, uploaded_files] end end end end end end
Version data entries
14 entries across 14 versions & 1 rubygems