Age | Commit message (Collapse) | Author |
|
Add two counter fields to subscriptions to track how many times a user
has skipped their subscription. Both successive skips and cumulative
skips are counted.
This field will be used to enforce a maximum number of skips allowed on
a subscription
|
|
Forcing consumers of the API to calculate and provide the interval in
seconds is messy and unnecessary. Instead, we can store the interval as
length and units, and do the math ourselves. This makes the API much
easier to use and understand.
|
|
This slipped through because I was using mysql locally. The foreign keys
need to reference the complete table name and so cannot be inferred from
the short column names
|
|
This field is used to indicate why the last attempt at processing an
installment may have succeeded or failed.
|
|
This boolean flag indicates if the last attempt at processing an
installment was successful or not.
|
|
This field will be replaces with a boolean to indicate a successful
installment or a failed installment. There is no need for a full state
machine here
|
|
To avoid confusions with the actual Installments model
|
|
Out of the box the subscriptions gem supports variant level
subscriptions. Variants now have a :subscribable boolean field
indicating that the variant is eligible for subscriptions
|
|
The subscription class is responsable for grouping together the
information required for the system to place a subscriptions order on
behalf of a specific user.
|
|
This class represents a single iteration of a subscription. It is
fulfulled
by a conmpleted order and maintains an association which tracks all
attempts
successful or othewise at fulfulling this installment
|
|
The LineItem class is responsible for associating Line items to subscriptions.
It tracks the following values:
[Spree::LineItem] :spree_line_item The spree object which created this instance
[SolidusSubscription::Subscription] :subscription The object responsible for
grouping all information needed to create new subscription orders together
[Integer] :subscribable_id The id of the object to be added to new subscription
orders when they are placed
[Integer] :quantity How many units of the subscribable should be included in
future orders
[Integer] :interval How often subscription orders should be placed
[Integer] :installments How many subscription orders should be placed
|
|
The subscription class is responsable for grouping together the
information required for the system to place a subscriptions order on
behalf of a specific user
|