diff options
author | cesartalves <cesartalvez@gmail.com> | 2021-05-04 10:59:05 -0300 |
---|---|---|
committer | cesartalves <cesartalvez@gmail.com> | 2021-05-04 11:02:49 -0300 |
commit | 9f87d809e339d459aa29c6aa62f3033a7c978ee7 (patch) | |
tree | 8a517c8be9870d943aebbab4965eba8239b9dc55 /lib/solidus_subscriptions/configuration.rb | |
parent | dafa723b228ec80dfb66a112d495114d29b43e9d (diff) |
Introduce Installment OrderCreator configuration
This adds both SolidusSubscriptions.configuration.order_creation_class and SolidusSubscriptions.configuration.order_creation_extra attributes, so that users can add attributes to each Installment Order at Checkout or even override how the Order is created
Diffstat (limited to 'lib/solidus_subscriptions/configuration.rb')
-rw-r--r-- | lib/solidus_subscriptions/configuration.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/solidus_subscriptions/configuration.rb b/lib/solidus_subscriptions/configuration.rb index 2606272..5b9aed9 100644 --- a/lib/solidus_subscriptions/configuration.rb +++ b/lib/solidus_subscriptions/configuration.rb @@ -4,14 +4,14 @@ module SolidusSubscriptions class Configuration attr_accessor( :maximum_total_skips, :maximum_reprocessing_time, :churn_buster_account_id, - :churn_buster_api_key, :clear_past_installments, :processing_error_handler, + :churn_buster_api_key, :clear_past_installments, :processing_error_handler, :order_creation_extra_attributes ) attr_writer( :success_dispatcher_class, :failure_dispatcher_class, :payment_failed_dispatcher_class, :out_of_stock_dispatcher, :maximum_successive_skips, :reprocessing_interval, :minimum_cancellation_notice, :processing_queue, :subscription_line_item_attributes, - :subscription_attributes, :subscribable_class, + :subscription_attributes, :subscribable_class, :order_creation_class ) def success_dispatcher_class @@ -57,7 +57,7 @@ module SolidusSubscriptions :subscribable_id, :interval_length, :interval_units, - :end_date, + :end_date ] end @@ -69,7 +69,7 @@ module SolidusSubscriptions { shipping_address_attributes: Spree::PermittedAttributes.address_attributes, billing_address_attributes: Spree::PermittedAttributes.address_attributes - }, + } ] end @@ -81,5 +81,10 @@ module SolidusSubscriptions def churn_buster? churn_buster_account_id.present? && churn_buster_api_key.present? end + + def order_creation_class + @order_creation_class ||= 'SolidusSubscriptions::OrderCreator' + @order_creation_class.constantize + end end end |