Sha256: 82e6cf67fb638d65fd92b40293baff08373cdc8e05c1ec00d929eb61449e3dc6
Contents?: true
Size: 1.02 KB
Versions: 3
Compression:
Stored size: 1.02 KB
Contents
module Tang class ImportSubscriptionsJob < ActiveJob::Base queue_as :default 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 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 end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tang-0.2.2 | app/jobs/tang/import_subscriptions_job.rb |
tang-0.2.1 | app/jobs/tang/import_subscriptions_job.rb |
tang-0.2.0 | app/jobs/tang/import_subscriptions_job.rb |