class StripeCharge

Public Class Methods

stripe_class() click to toggle source
# File lib/stripe_model_callbacks/models/stripe_charge.rb, line 11
def self.stripe_class
  Stripe::Charge
end

Public Instance Methods

assign_from_stripe(object) click to toggle source
# File lib/stripe_model_callbacks/models/stripe_charge.rb, line 15
def assign_from_stripe(object)
  assign_attributes(
    created: Time.zone.at(object.created),
    stripe_customer_id: object.customer,
    livemode: object.livemode,
    stripe_invoice_id: object.invoice,
    metadata: JSON.generate(object.metadata),
    stripe_order_id: object.order,
    stripe_source_id: object.source
  )

  assign_amounts_from_stripe(object)

  StripeModelCallbacks::AttributesAssignerService.execute!(
    model: self,
    stripe_model: object,
    attributes: %w[
      captured currency description dispute outcome refunded fraud_details failure_message failure_code on_behalf_of paid
      receipt_email receipt_number review shipping source_transfer statement_descriptor status transfer_group
    ]
  )
end

Private Instance Methods

assign_amounts_from_stripe(object) click to toggle source
# File lib/stripe_model_callbacks/models/stripe_charge.rb, line 40
def assign_amounts_from_stripe(object)
  assign_attributes(
    amount: Money.new(object.amount, object.currency),
    amount_refunded: object.amount_refunded ? Money.new(object.amount_refunded, object.currency) : nil,
    application: object.application ? Money.new(object.application, object.currency) : nil
  )
end