summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIkraam Ghoor <ikraamghoor@nebulab.it>2021-03-26 10:59:20 +0200
committerIkraam Ghoor <ikraamghoor@nebulab.it>2021-03-26 10:59:28 +0200
commitb236da3317929f3735616262fe2a258c75428ffc (patch)
tree3e27d28e0a79b24a36af50961c0a22bb70566c22
parent28e9291ecdf010a4f87ee1cb8d2856d766ad0f75 (diff)
fixup! Skip ActiveJob retrying for ProcessInstallmentJob
-rw-r--r--app/jobs/solidus_subscriptions/process_installment_job.rb2
-rw-r--r--lib/generators/solidus_subscriptions/install/templates/initializer.rb4
-rw-r--r--lib/solidus_subscriptions/configuration.rb8
-rw-r--r--spec/jobs/solidus_subscriptions/process_installment_job_spec.rb6
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