Class: IiifPrint::Jobs::ChildWorksFromPdfJob
- Inherits:
-
ApplicationJob
- Object
- ActiveJob::Base
- ApplicationJob
- IiifPrint::Jobs::ChildWorksFromPdfJob
- Defined in:
- lib/iiif_print/jobs/child_works_from_pdf_job.rb
Instance Method Summary collapse
-
#perform(parent_work, pdf_paths, user, admin_set_id, prior_pdfs) ⇒ Object
Break a pdf into individual pages.
Instance Method Details
#perform(parent_work, pdf_paths, user, admin_set_id, prior_pdfs) ⇒ Object
Break a pdf into individual pages
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/iiif_print/jobs/child_works_from_pdf_job.rb', line 10 def perform(parent_work, pdf_paths, user, admin_set_id, prior_pdfs) @parent_work = parent_work @child_admin_set_id = admin_set_id child_model = @parent_work.iiif_print_config.pdf_split_child_model # handle each input pdf pdf_paths.each_with_index do |path, pdf_idx| split_pdf(path, pdf_idx, user, prior_pdfs, child_model) end # Link newly created child works to the parent # @param user: [User] user # @param parent_id: [<String>] parent work id # @param parent_model: [<String>] parent model # @param child_model: [<String>] child model IiifPrint::Jobs::CreateRelationshipsJob.set(wait: 10.minutes).perform_later( user: user, parent_id: @parent_work.id, parent_model: @parent_work.class.to_s, child_model: child_model.to_s ) # TODO: clean up image_files and pdf_paths end |