Class: BridgeCache::Jobs::ImportData

Inherits:
ActiveJob::Base
  • Object
show all
Defined in:
app/lib/bridge_cache/jobs/import_data.rb

Instance Method Summary collapse

Instance Method Details

#perform(bridge_base_url, bridge_api_key, bridge_api_secret, models, chain = []) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'app/lib/bridge_cache/jobs/import_data.rb', line 5

def perform(bridge_base_url, bridge_api_key, bridge_api_secret, models, chain = [])
  remote_data = BridgeBlueprint::RemoteData.new(bridge_base_url, bridge_api_key, bridge_api_secret)
  Dir.mktmpdir do |dir|
    path = "#{dir}/data_dump"
    remote_data.store_file(path)
    import = BridgeBlueprint::DataDump.new(path)
    models.each do |model|
      import.each_row(model.pluralize) do |row|
        BridgeCache::Jobs::ImportRow.set(queue: self.queue_name).perform_later(model, row.to_h)
      end
    end
  end
end