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
-
.billing_handler=(val) ⇒ Object
You need to specify whether Freemium or your gateway’s ARB module will control the billing process.
- .expired_plan ⇒ Object
- .expired_plan_key=(key) ⇒ Object
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_plan ⇒ Object
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 |