Sha256: 4068e310066820689054167e987bd569db4c9a8113955b629ede9c3f472fb263
Contents?: true
Size: 676 Bytes
Versions: 5
Compression:
Stored size: 676 Bytes
Contents
class StripeModelCallbacks::Order::UpdatedService < StripeModelCallbacks::BaseEventService def perform order.assign_from_stripe(object) if order.save create_order_items succeed! else fail! order.errors.full_messages end end private def create_order_items object.items.each do |order_item| stripe_order_item = StripeOrderItem.find_or_initialize_by(parent_id: order_item.parent) stripe_order_item.stripe_order_id = object.id stripe_order_item.assign_from_stripe(order_item) stripe_order_item.save! end end def order @order ||= StripeOrder.find_or_initialize_by(stripe_id: object.id) end end
Version data entries
5 entries across 5 versions & 1 rubygems