Class: CoreMerchant::SubscriptionPlan
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- CoreMerchant::SubscriptionPlan
- Defined in:
- lib/core_merchant/subscription_plan.rb
Overview
Represents a subscription plan in CoreMerchant. Subscription plans are used to define the pricing and features of a subscription. All prices are in cents.
Attributes:
-
‘name_key`: A unique key for the subscription plan.
This key is used to identify the plan in the application, as well as the translation key for the plan name through `core_merchant.subscription_plans`.
-
‘price_cents`: The price of the subscription plan in cents.
-
‘duration`: The duration of the subscription plan.
Consists of a number and a letter representing the time unit as day, week, month, or year. For example, `1w` for 1 week, `3m` for 3 months, `1y` for 1 year.
-
‘introductory_price_cents`: The introductory price of the subscription plan in cents.
-
‘introductory_duration`: The duration of the introductory price of the subscription plan.
Usage:
```
plan = CoreMerchant::SubscriptionPlan.new(name_key: "basic_monthly", price_cents: 7_99)
plan.save
```
Instance Method Summary collapse
- #duration_in_date ⇒ Object
- #introductory_duration_in_date ⇒ Object
- #introductory_price ⇒ Object
- #name ⇒ Object
- #price ⇒ Object
- #to_s ⇒ Object
Instance Method Details
#duration_in_date ⇒ Object
48 49 50 |
# File 'lib/core_merchant/subscription_plan.rb', line 48 def duration_in_date date_from_duration(duration) end |
#introductory_duration_in_date ⇒ Object
52 53 54 |
# File 'lib/core_merchant/subscription_plan.rb', line 52 def introductory_duration_in_date date_from_duration(introductory_duration) if introductory_duration end |
#introductory_price ⇒ Object
44 45 46 |
# File 'lib/core_merchant/subscription_plan.rb', line 44 def introductory_price introductory_price_cents / 100.0 if introductory_price_cents end |
#name ⇒ Object
36 37 38 |
# File 'lib/core_merchant/subscription_plan.rb', line 36 def name I18n.t(name_key, scope: "core_merchant.subscription_plans", default: name_key.humanize) end |
#price ⇒ Object
40 41 42 |
# File 'lib/core_merchant/subscription_plan.rb', line 40 def price price_cents / 100.0 end |
#to_s ⇒ Object
56 57 58 |
# File 'lib/core_merchant/subscription_plan.rb', line 56 def to_s "#{name} - #{price}" end |