Sha256: c4e5d30ca614abfba5f50e211a874d209d1ac5f307b96d78aa59b3946ef7245f

Contents?: true

Size: 904 Bytes

Versions: 28

Compression:

Stored size: 904 Bytes

Contents

# frozen_string_literal: true
module Hyrax
  ##
  # Store a file uploaded by a user.
  #
  # Eventually these files get attached to {FileSet}s and pushed into Fedora.
  class UploadedFile < ActiveRecord::Base
    self.table_name = 'uploaded_files'
    mount_uploader :file, UploadedFileUploader
    alias uploader file
    has_many :job_io_wrappers,
             inverse_of: 'uploaded_file',
             class_name: 'JobIoWrapper',
             dependent: :destroy
    belongs_to :user, class_name: '::User'

    ##
    # Associate a {FileSet} with this uploaded file.
    #
    # @param [Hyrax::Resource, ActiveFedora::Base] file_set
    # @return [void]
    def add_file_set!(file_set)
      uri = case file_set
            when ActiveFedora::Base
              file_set.uri
            when Hyrax::Resource
              file_set.id
            end
      update!(file_set_uri: uri)
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
hyrax-5.1.0.pre.beta1 app/models/hyrax/uploaded_file.rb
hyrax-5.0.4 app/models/hyrax/uploaded_file.rb
hyrax-5.0.3 app/models/hyrax/uploaded_file.rb
hyrax-5.0.2 app/models/hyrax/uploaded_file.rb
hyrax-5.0.1 app/models/hyrax/uploaded_file.rb
hyrax-5.0.0 app/models/hyrax/uploaded_file.rb
hyrax-5.0.0.rc3 app/models/hyrax/uploaded_file.rb
hyrax-5.0.0.rc2 app/models/hyrax/uploaded_file.rb
hyrax-5.0.0.rc1 app/models/hyrax/uploaded_file.rb
hyrax-3.6.0 app/models/hyrax/uploaded_file.rb
hyrax-4.0.0 app/models/hyrax/uploaded_file.rb
hyrax-4.0.0.rc3 app/models/hyrax/uploaded_file.rb
hyrax-4.0.0.rc2 app/models/hyrax/uploaded_file.rb
hyrax-4.0.0.rc1 app/models/hyrax/uploaded_file.rb
hyrax-3.5.0 app/models/hyrax/uploaded_file.rb
hyrax-4.0.0.beta2 app/models/hyrax/uploaded_file.rb
hyrax-3.4.2 app/models/hyrax/uploaded_file.rb
hyrax-4.0.0.beta1 app/models/hyrax/uploaded_file.rb
hyrax-3.4.1 app/models/hyrax/uploaded_file.rb
hyrax-3.4.0 app/models/hyrax/uploaded_file.rb