Sha256: 35b2405c5538b9db359476667f954f68ff9ee4b6d0a207a3e178b0d3a719fe80

Contents?: true

Size: 653 Bytes

Versions: 1

Compression:

Stored size: 653 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)
        return unless Emarsys.customer_id.present?

        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

1 entries across 1 versions & 1 rubygems

Version Path
workarea-emarsys-1.1.0 app/workers/workarea/emarsys/save_order.rb