Sha256: 16d94706bb9e1a6b182a293dbb6386b9677e5e12f005d1371cb0e526e70fa753

Contents?: true

Size: 601 Bytes

Versions: 2

Compression:

Stored size: 601 Bytes

Contents

module Workarea
  module Emarsys
    class SaveOrderContact
      include Sidekiq::Worker
      include Sidekiq::CallbacksWorker

      sidekiq_options(
        enqueue_on: { Workarea::Order => [:place] },
        unique: :until_executing
      )

      def perform(id)
        order = Workarea::Order.find(id)
        address = Workarea::Payment.find(order.id).address

        attrs = Emarsys::Contact.new(order, address: address, contact_from: 'order').to_h
        gateway.create_contact(attrs)
      end

      private

        def gateway
          Emarsys.gateway
        end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
workarea-emarsys-2.0.1 app/workers/workarea/emarsys/save_order_contact.rb
workarea-emarsys-2.0.0 app/workers/workarea/emarsys/save_order.rb