Sha256: bd4d3c7de1b58a0dc2fc4596dcc10efe92c2bbb5d5cbb52aa986f111bd075358
Contents?: true
Size: 676 Bytes
Versions: 3
Compression:
Stored size: 676 Bytes
Contents
class StripeModelCallbacks::Order::UpdatedService < StripeModelCallbacks::BaseEventService def execute 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
3 entries across 3 versions & 1 rubygems