Sha256: 3ad1d17011d471b71b4c6066cdd55ffb7f7a75912a551d570fcae3d2f902000a

Contents?: true

Size: 808 Bytes

Versions: 15

Compression:

Stored size: 808 Bytes

Contents

# frozen_string_literal: true

module Decidim
  class ExportJob < ApplicationJob
    queue_as :exports

    # rubocop:disable Metrics/ParameterLists
    def perform(user, component, name, format, resource_id = nil, filters = nil)
      export_manifest = component.manifest.export_manifests.find do |manifest|
        manifest.name == name.to_sym
      end

      collection = export_manifest.collection.call(component, user, resource_id)
      collection = collection.ransack(filters).result if collection.respond_to?(:ransack) && filters
      serializer = export_manifest.serializer

      export_data = Decidim::Exporters.find_exporter(format).new(collection, serializer).export

      ExportMailer.export(user, name, export_data).deliver_now
    end
    # rubocop:enable Metrics/ParameterLists
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
decidim-core-0.29.2 app/jobs/decidim/export_job.rb
decidim-core-0.28.5 app/jobs/decidim/export_job.rb
decidim-core-0.29.1 app/jobs/decidim/export_job.rb
decidim-core-0.28.4 app/jobs/decidim/export_job.rb
decidim-core-0.29.0 app/jobs/decidim/export_job.rb
decidim-core-0.28.3 app/jobs/decidim/export_job.rb
decidim-core-0.29.0.rc4 app/jobs/decidim/export_job.rb
decidim-core-0.29.0.rc3 app/jobs/decidim/export_job.rb
decidim-core-0.29.0.rc2 app/jobs/decidim/export_job.rb
decidim-core-0.29.0.rc1 app/jobs/decidim/export_job.rb
decidim-core-0.28.2 app/jobs/decidim/export_job.rb
decidim-core-0.28.1 app/jobs/decidim/export_job.rb
decidim-core-0.28.0 app/jobs/decidim/export_job.rb
decidim-core-0.28.0.rc5 app/jobs/decidim/export_job.rb
decidim-core-0.28.0.rc4 app/jobs/decidim/export_job.rb