Class: Workarea::Emarsys::SyncOrders

Inherits:
Object
  • Object
show all
Includes:
Sidekiq::Worker
Defined in:
app/workers/workarea/emarsys/sync_orders.rb

Instance Method Summary collapse

Instance Method Details

#performObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/workers/workarea/emarsys/sync_orders.rb', line 6

def perform
  # get the orders based on the time span set in config
  orders = Workarea::Order.emarsys_exportable

  return if orders.empty?

  Dir.mktmpdir do |dir|
    file = "order_export.csv"
    path = "#{dir}/#{file}"
    File.new(path, 'w+')

    CSV.open(path, "wb") do |csv|
      csv << headers
      orders.each do |order|
        order.items.each do |item|
          csv << order_line(item)
        end
      end
    end
    gateway.send_file(path)
  end
end