Class: StripePrice

Inherits:
StripeModelCallbacks::ApplicationRecord show all
Defined in:
lib/stripe_model_callbacks/models/stripe_price.rb

Instance Attribute Summary

Attributes inherited from StripeModelCallbacks::ApplicationRecord

#stripe_object

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from StripeModelCallbacks::ApplicationRecord

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_classObject



2
3
4
# File 'lib/stripe_model_callbacks/models/stripe_price.rb', line 2

def self.stripe_class
  Stripe::Price
end

Instance Method Details

#assign_from_stripe(object) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/stripe_model_callbacks/models/stripe_price.rb', line 6

def assign_from_stripe(object)
  check_object_is_stripe_class(object)

  assign_attributes(
    stripe_id: object.id,
    stripe_product_id: object.product,
    recurring_aggregate_usage: object.recurring&.aggregate_usage,
    recurring_interval: object.recurring&.interval,
    recurring_interval_count: object.recurring&.interval_count,
    recurring_usage_type: object.recurring&.usage_type,
    transform_quantity_divide_by: object.transform_quantity&.divide_by,
    transform_quantity_round: object.transform_quantity&.round
  )

  StripeModelCallbacks::AttributesAssignerService.execute!(
    model: self, stripe_model: object,
    attributes: %w[
      active billing_scheme created currency lookup_key metadata nickname tiers_mode unit_amount
    ]
  )
end