Sha256: be2370fd29cdc82a8e148850ae4fd2f184afc5d7eaf1bcfa452c4093f306a06d

Contents?: true

Size: 608 Bytes

Versions: 2

Compression:

Stored size: 608 Bytes

Contents

module ActsAsSubscribableBuyer
  extend ActiveSupport::Concern

  module ActiveRecord
    def acts_as_subscribable_buyer(*options)
      include ::ActsAsSubscribableBuyer
    end
  end

  included do
    has_one :customer, class_name: 'Effective::Customer'

    before_save(if: -> { persisted? && email_changed? && customer.present? }) do
      Rails.logger.info "[STRIPE] update customer: #{customer.stripe_customer_id}"
      customer.stripe_customer.email = email
      customer.stripe_customer.description = to_s
      throw :abort unless (customer.stripe_customer.save rescue false)
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
effective_orders-4.0.0beta16 app/models/concerns/acts_as_subscribable_buyer.rb
effective_orders-4.0.0beta15 app/models/concerns/acts_as_subscribable_buyer.rb