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 throughcore_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,1wfor 1 week,3mfor 3 months,1yfor 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 |