spark-solutions/spree_mailchimp_ecommerce

View on GitHub
app/jobs/spree_mailchimp_ecommerce/upsert_order_job.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

module SpreeMailchimpEcommerce
  class UpsertOrderJob < ApplicationJob
    def perform(mailchimp_order)
      gibbon_store.orders(mailchimp_order["id"]).update(body: mailchimp_order)
    rescue Gibbon::MailChimpError => e
      if e.status_code == 404
        gibbon_store.orders(mailchimp_order["id"]).create(body: mailchimp_order)
      else
        # re-raise
        raise
      end
    end
  end
end