Module: Freemium

Defined in:
lib/freemium/subscription.rb,
lib/freemium.rb,
lib/freemium/rates.rb,
lib/freemium/coupon.rb,
lib/freemium/address.rb,
lib/freemium/version.rb,
lib/freemium/response.rb,
lib/freemium/credit_card.rb,
lib/freemium/feature_set.rb,
lib/freemium/transaction.rb,
lib/freemium/gateways/base.rb,
lib/freemium/gateways/test.rb,
lib/freemium/manual_billing.rb,
lib/freemium/coupon_redemption.rb,
lib/freemium/recurring_billing.rb,
lib/freemium/subscription_plan.rb,
lib/freemium/gateways/brain_tree.rb,
lib/freemium/subscription_change.rb,
lib/generators/freemium/orm_helpers.rb,
lib/generators/freemium/install_generator.rb,
lib/generators/freemium/freemium_generator.rb

Overview

Attributes

subscriptions:      all subscriptions for the plan
rate_cents:         how much this plan costs, in cents
rate:               how much this plan costs, in Money
yearly:             whether this plan cycles yearly or monthly

Defined Under Namespace

Modules: Coupon, CouponRedemption, CreditCard, Gateways, Generators, ManualBilling, Rates, RecurringBilling, Subscription, SubscriptionChange, SubscriptionPlan, Transaction Classes: Address, CreditCardStorageError, FeatureSet, Response

Constant Summary collapse

VERSION =
'0.0.2'
@@mailer =
SubscriptionMailer
@@gateway =
Freemium::Gateways::Test.new
@@days_grace =
3
@@days_free_trial =
0

Class Method Summary collapse

Class Method Details

.billing_handler=(val) ⇒ Object

You need to specify whether Freemium or your gateway’s ARB module will control the billing process. If your gateway’s ARB controls the billing process, then Freemium will simply try and keep up-to-date on transactions.



39
40
41
42
43
44
45
46
# File 'lib/freemium.rb', line 39

def self.billing_handler=(val)
  case val
  when :manual  then ::Subscription.send(:include, Freemium::ManualBilling)
  when :gateway then ::Subscription.send(:include, Freemium::RecurringBilling)
  else
    raise "unknown billing_handler: #{val}"
  end
end

.expired_planObject



58
59
60
# File 'lib/freemium.rb', line 58

def self.expired_plan
  @@expired_plan ||= (::SubscriptionPlan.find_by_redemption_key(expired_plan_key.to_s) if expired_plan_key)
end

.expired_plan_key=(key) ⇒ Object



65
66
67
68
# File 'lib/freemium.rb', line 65

def self.expired_plan_key=(key)
  @@expired_plan_key = key
  @@expired_plan = nil
end