Sha256: 3bfb572ebe4eb5e4564d5be0a107fbcc21b1c530c0799704fc8f167a411ff151

Contents?: true

Size: 895 Bytes

Versions: 14

Compression:

Stored size: 895 Bytes

Contents

module BridgeCache::Jobs
  class ImportData < ActiveJob::Base
    include BridgeCache::Utils::WorkerHelper
    queue_as :default

    def perform(account_settings, chain = [])
      account_settings = account_settings.with_indifferent_access
      remote_data = BridgeBlueprint::RemoteData.new(account_settings[:url], account_settings[:api_key], account_settings[:api_secret])
      Dir.mktmpdir do |dir|
        path = "#{dir}/data_dump"
        remote_data.store_file(path)
        import = BridgeBlueprint::DataDump.new(path)
        BridgeCache.resolved_models(account_settings[:is_subaccount]).each do |model|
          ids = []
          ids << BridgeCache::Plugins::CSVDump.bulk_import(import, model)
          BridgeCache::Jobs::CleanupJob.set(queue: queue_name).perform_later(model, ids)
        end
      end
      BridgeCache::Utils::WorkerHelper.invoke_next(chain)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
bridge_cache-0.3.13 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.12 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.11 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.10 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.9 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.8 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.7 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.6 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.5 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.4 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.3 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.2 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.01 app/lib/bridge_cache/jobs/import_data.rb
bridge_cache-0.3.0 app/lib/bridge_cache/jobs/import_data.rb