Class: SolidusSubscriptions::LineItem
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- SolidusSubscriptions::LineItem
- Includes:
- Interval
- Defined in:
- app/models/solidus_subscriptions/line_item.rb
Instance Method Summary collapse
- #as_json(**options) ⇒ Object
-
#dummy_line_item ⇒ Object
Get a placeholder line item for calculating the values of future subscription orders.
- #interval ⇒ Object
- #next_actionable_date ⇒ Object
Methods included from Interval
Instance Method Details
#as_json(**options) ⇒ Object
39 40 41 42 |
# File 'app/models/solidus_subscriptions/line_item.rb', line 39 def as_json(**) [:methods] ||= [:dummy_line_item, :next_actionable_date] super() end |
#dummy_line_item ⇒ Object
Get a placeholder line item for calculating the values of future subscription orders. It is frozen and cannot be saved
46 47 48 49 50 51 52 53 |
# File 'app/models/solidus_subscriptions/line_item.rb', line 46 def dummy_line_item li = LineItemBuilder.new([self]).spree_line_items.first return unless li li.order = dummy_order li.validate li.freeze end |
#interval ⇒ Object
55 56 57 |
# File 'app/models/solidus_subscriptions/line_item.rb', line 55 def interval subscription.try!(:interval) || super end |
#next_actionable_date ⇒ Object
35 36 37 |
# File 'app/models/solidus_subscriptions/line_item.rb', line 35 def next_actionable_date dummy_subscription.next_actionable_date end |