Sha256: 03bca3c0bd94f7582bee56882ded2a6282bf7bc182443e58e2d6f6fa14e608c5

Contents?: true

Size: 613 Bytes

Versions: 3

Compression:

Stored size: 613 Bytes

Contents

class StripeModelCallbacks::Payout::UpdatedService < StripeModelCallbacks::BaseEventService
  def execute
    payout.assign_from_stripe(object)

    if payout.save
      create_activity
      succeed!
    else
      fail! payout.errors.full_messages
    end
  end

private

  def create_activity
    case event.type
    when "payout.canceled"
      payout.create_activity :canceled
    when "payout.failed"
      payout.create_activity :failed
    when "payout.paid"
      payout.create_activity :paid
    end
  end

  def payout
    @payout ||= StripePayout.find_or_initialize_by(stripe_id: object.id)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
stripe_model_callbacks-0.1.2 app/services/stripe_model_callbacks/payout/updated_service.rb
stripe_model_callbacks-0.1.1 app/services/stripe_model_callbacks/payout/updated_service.rb
stripe_model_callbacks-0.1.0 app/services/stripe_model_callbacks/payout/updated_service.rb