From b236da3317929f3735616262fe2a258c75428ffc Mon Sep 17 00:00:00 2001 From: Ikraam Ghoor Date: Fri, 26 Mar 2021 10:59:20 +0200 Subject: fixup! Skip ActiveJob retrying for ProcessInstallmentJob --- app/jobs/solidus_subscriptions/process_installment_job.rb | 2 +- .../solidus_subscriptions/install/templates/initializer.rb | 4 ++-- lib/solidus_subscriptions/configuration.rb | 8 ++------ spec/jobs/solidus_subscriptions/process_installment_job_spec.rb | 6 +++--- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/app/jobs/solidus_subscriptions/process_installment_job.rb b/app/jobs/solidus_subscriptions/process_installment_job.rb index 8add4f2..53270e5 100644 --- a/app/jobs/solidus_subscriptions/process_installment_job.rb +++ b/app/jobs/solidus_subscriptions/process_installment_job.rb @@ -7,7 +7,7 @@ module SolidusSubscriptions def perform(installment) Checkout.new(installment).process rescue StandardError => e - SolidusSubscriptions.configuration.process_job_error_handler&.call(e) + SolidusSubscriptions.configuration.processing_error_handler&.call(e) end end end diff --git a/lib/generators/solidus_subscriptions/install/templates/initializer.rb b/lib/generators/solidus_subscriptions/install/templates/initializer.rb index e0a0af7..3632f08 100644 --- a/lib/generators/solidus_subscriptions/install/templates/initializer.rb +++ b/lib/generators/solidus_subscriptions/install/templates/initializer.rb @@ -27,11 +27,11 @@ SolidusSubscriptions.configure do |config| # config.maximum_reprocessing_time = nil # This custom error handler is called when a ProcessInstallmentJob `#perform` method fails. - # The rescued error can be managed as requried via a Proc, such as one which logs the error + # The rescued error can be managed as required via a Proc, such as one which logs the error # on an error tracking system. # Though not recommended due to the retry mechanisms built into this gem, the error can be # re-raised if the default retry behaviour is required in ActiveJob. - # config.process_job_error_handler = nil + # config.processing_error_handler = nil # ========================================= Dispatchers ========================================== # diff --git a/lib/solidus_subscriptions/configuration.rb b/lib/solidus_subscriptions/configuration.rb index 6e4479d..cbaec5c 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, + :churn_buster_api_key, :clear_past_installments, :processing_error_handler, ) 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, :process_job_error_handler, + :subscription_attributes, :subscribable_class, ) def success_dispatcher_class @@ -80,9 +80,5 @@ module SolidusSubscriptions def churn_buster? churn_buster_account_id.present? && churn_buster_api_key.present? end - - def process_job_error_handler - @process_job_error_handler ||= nil - end end end diff --git a/spec/jobs/solidus_subscriptions/process_installment_job_spec.rb b/spec/jobs/solidus_subscriptions/process_installment_job_spec.rb index 6fe8ed2..c50b452 100644 --- a/spec/jobs/solidus_subscriptions/process_installment_job_spec.rb +++ b/spec/jobs/solidus_subscriptions/process_installment_job_spec.rb @@ -10,12 +10,12 @@ RSpec.describe SolidusSubscriptions::ProcessInstallmentJob do end context 'when handling #perform errors' do - it 'swallows error on #perfom error' do + it 'swallows error when a proc is not configured' do expect { described_class.perform_now(nil) }.not_to raise_error(StandardError) end - it 'runs proc on #perform error' do - stub_config(process_job_error_handler: proc { |e| raise e } ) + it 'runs proc when a proc is configured' do + stub_config(processing_error_handler: proc { |e| raise e } ) expect { described_class.perform_now(nil) }.to raise_error(StandardError) end -- cgit v1.2.3