Sha256: 6955a424daaf0a0bd29e0a21dff3c79f879b3981a969cd407518d0e6c7d5bc6f

Contents?: true

Size: 913 Bytes

Versions: 3

Compression:

Stored size: 913 Bytes

Contents

class StripeCustomer < StripeModelCallbacks::ApplicationRecord
  has_many :stripe_cards, primary_key: "stripe_id"
  has_many :stripe_charges, primary_key: "stripe_id"
  has_many :stripe_discounts, primary_key: "stripe_id"
  has_many :stripe_invoices, primary_key: "stripe_id"
  has_many :stripe_invoice_items, primary_key: "stripe_id"
  has_many :stripe_orders, primary_key: "stripe_id"
  has_many :stripe_subscriptions, primary_key: "stripe_id"
  has_many :stripe_subscription_schedules, primary_key: "stripe_id"

  def self.stripe_class
    Stripe::Customer
  end

  def assign_from_stripe(object)
    check_object_is_stripe_class(object)
    StripeModelCallbacks::AttributesAssignerService.execute!(
      model: self, stripe_model: object,
      attributes: %w[
        account_balance currency created default_source delinquent description discount email
        id livemode metadata
      ]
    )
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
stripe_model_callbacks-0.1.5 lib/stripe_model_callbacks/models/stripe_customer.rb
stripe_model_callbacks-0.1.4 lib/stripe_model_callbacks/models/stripe_customer.rb
stripe_model_callbacks-0.1.3 lib/stripe_model_callbacks/models/stripe_customer.rb