Sha256: 3be579704f8dd921d7d577359060883dd9347f450c7f76c208cb18f99c545b8e

Contents?: true

Size: 922 Bytes

Versions: 2

Compression:

Stored size: 922 Bytes

Contents

# frozen_string_literal: true

# ImportDocumentDistributionJob class
class ImportDocumentDistributionJob < ApplicationJob
  queue_as :priority

  def perform(import_document_distribution)
    document_distribution = DocumentDistribution.find_or_create_by(
      friendlier_id: import_document_distribution.friendlier_id,
      reference_type: ReferenceType.find_by(name: import_document_distribution.reference_type),
      url: import_document_distribution.distribution_url
    )

    if document_distribution.update(import_document_distribution.to_hash)
      import_document_distribution.state_machine.transition_to!(:success)
    else
      import_document_distribution.state_machine.transition_to!(:failed, "Failed - #{document_distribution.errors.inspect}")
    end
  rescue => e
    logger.debug("Error: #{e}")
    import_document_distribution.state_machine.transition_to!(:failed, "Error - #{e.inspect}")
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
geoblacklight_admin-0.7.1 app/jobs/import_document_distribution_job.rb
geoblacklight_admin-0.7.0 app/jobs/import_document_distribution_job.rb