Class: Tang::ImportSubscriptionsJob
- Inherits:
-
ActiveJob::Base
- Object
- ActiveJob::Base
- Tang::ImportSubscriptionsJob
- Defined in:
- app/jobs/tang/import_subscriptions_job.rb
Instance Method Summary collapse
Instance Method Details
#import_subscription(stripe_subscription) ⇒ Object
21 22 23 24 25 26 27 |
# File 'app/jobs/tang/import_subscriptions_job.rb', line 21 def import_subscription(stripe_subscription) subscription = Subscription.from_stripe(stripe_subscription) if subscription.present? # Handle removed discounts subscription.update(coupon: nil, coupon_start: nil) if stripe_subscription.discount.nil? end end |
#perform(starting_after = nil) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'app/jobs/tang/import_subscriptions_job.rb', line 5 def perform(starting_after = nil) # Make sure we don't email everyone Subscription.skip_callback(:save, :before, :check_for_upgrade) # Import all Stripe subscriptions stripe_subscriptions = Stripe::Subscription.list(status: 'all', limit: 100, starting_after: starting_after) stripe_subscriptions.each do |stripe_subscription| import_subscription(stripe_subscription) end # All done, enable the mailer Subscription.set_callback(:save, :before, :check_for_upgrade) Tang::ImportSubscriptionsJob.perform_now(stripe_subscriptions.data.last.id) if stripe_subscriptions.has_more end |