Class: StripeSubscriptionItem
Instance Attribute Summary
#stripe_object
Class Method Summary
collapse
Instance Method Summary
collapse
check_object_is_stripe_class, #check_object_is_stripe_class, create_from_stripe!, create_on_stripe!, #destroy_on_stripe, #destroy_on_stripe!, #reload!, #reload_from_stripe!, #to_stripe, #update_on_stripe, #update_on_stripe!
Class Method Details
.stripe_class ⇒ Object
8
9
10
|
# File 'lib/stripe_model_callbacks/models/stripe_subscription_item.rb', line 8
def self.stripe_class
Stripe::SubscriptionItem
end
|
Instance Method Details
#assign_from_stripe(object) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/stripe_model_callbacks/models/stripe_subscription_item.rb', line 12
def assign_from_stripe(object)
check_object_is_stripe_class(object)
self.stripe_subscription_id = object.subscription if object.respond_to?(:subscription)
self.stripe_plan_id = object.plan.id if object.try(:plan).respond_to?(:id)
assign_price_from_stripe(object)
StripeModelCallbacks::AttributesAssignerService.execute!(
model: self, stripe_model: object,
attributes: %w[id created metadata quantity]
)
end
|
#update_quantity_on_stripe!(new_quantity) ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/stripe_model_callbacks/models/stripe_subscription_item.rb', line 25
def update_quantity_on_stripe!(new_quantity)
sub_object = stripe_subscription.to_stripe
new_items = [{
id: id,
plan: stripe_plan_id,
quantity: new_quantity
}]
sub_object.items = new_items
sub_object.save
stripe_subscription.reload_from_stripe!
nil
end
|