Module: Freemium::RecurringBilling::ClassMethods

Defined in:
lib/freemium/recurring_billing.rb

Instance Method Summary collapse

Instance Method Details

#run_billingObject

the process you should run periodically



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/freemium/recurring_billing.rb', line 10

def run_billing
  # first, synchronize transactions
  transactions = process_transactions

  # then, set expiration for any subscriptions that didn't process
  find_expirable.each(&:expire_after_grace!)
  # then, actually expire any subscriptions whose time has come
  expire

  # send the activity report
  Freemium.mailer.deliver_admin_report(
    transactions
  ) if Freemium.admin_report_recipients && !new_transactions.empty?
end