Sha256: 3c585192933852b1c91e0d227e203faefdf2de017a28e281397a4a1ba4080132

Contents?: true

Size: 472 Bytes

Versions: 5

Compression:

Stored size: 472 Bytes

Contents

class StripeModelCallbacks::Product::UpdatedService < StripeModelCallbacks::BaseEventService
  def perform
    product = StripeProduct.find_or_initialize_by(stripe_id: object.id)
    product.assign_from_stripe(object)
    product.deleted_at ||= Time.zone.now if event.type == "product.deleted"

    if product.save
      product.create_activity :deleted if event.type == "product.deleted"
      succeed!
    else
      fail! product.errors.full_messages
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
stripe_model_callbacks-0.1.7 app/services/stripe_model_callbacks/product/updated_service.rb
stripe_model_callbacks-0.1.6 app/services/stripe_model_callbacks/product/updated_service.rb
stripe_model_callbacks-0.1.5 app/services/stripe_model_callbacks/product/updated_service.rb
stripe_model_callbacks-0.1.4 app/services/stripe_model_callbacks/product/updated_service.rb
stripe_model_callbacks-0.1.3 app/services/stripe_model_callbacks/product/updated_service.rb