Sha256: d3d41a27e9a025803d37056059d08b8d769219599bbc90c8db5e21bc48dda4fd

Contents?: true

Size: 422 Bytes

Versions: 5

Compression:

Stored size: 422 Bytes

Contents

class StripeModelCallbacks::Coupon::UpdatedService < StripeModelCallbacks::BaseEventService
  def perform
    coupon.assign_from_stripe(object)
    coupon.deleted_at ||= Time.zone.now if event.type == "coupon.deleted"

    if coupon.save
      succeed!
    else
      fail! coupon.errors.full_messages
    end
  end

private

  def coupon
    @coupon ||= StripeCoupon.find_or_initialize_by(stripe_id: object.id)
  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/coupon/updated_service.rb
stripe_model_callbacks-0.1.6 app/services/stripe_model_callbacks/coupon/updated_service.rb
stripe_model_callbacks-0.1.5 app/services/stripe_model_callbacks/coupon/updated_service.rb
stripe_model_callbacks-0.1.4 app/services/stripe_model_callbacks/coupon/updated_service.rb
stripe_model_callbacks-0.1.3 app/services/stripe_model_callbacks/coupon/updated_service.rb