Class: ImportUrlJob

Inherits:
ActiveJob::Base
  • Object
show all
Defined in:
app/jobs/import_url_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(file_set) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/jobs/import_url_job.rb', line 8

def perform(file_set)
  user = User.find_by_user_key(file_set.depositor)

  Tempfile.open(file_set.id.tr('/', '_')) do |f|
    copy_remote_file(file_set, f)

    # reload the generic file once the data is copied since this is a long running task
    file_set.reload

    # attach downloaded file to generic file stubbed out
    if CurationConcerns::FileSetActor.new(file_set, user).create_content(f)
      # send message to user on download success
      CurationConcerns.config.callback.run(:after_import_url_success, file_set, user)
    else
      CurationConcerns.config.callback.run(:after_import_url_failure, file_set, user)
    end
  end
end