diff --git a/config/initializers/active_job_select_foodcoop.rb b/config/initializers/active_job_select_foodcoop.rb index 549a336d9..5e47820bd 100644 --- a/config/initializers/active_job_select_foodcoop.rb +++ b/config/initializers/active_job_select_foodcoop.rb @@ -10,13 +10,29 @@ def serialize(arguments) end def deserialize(arguments) - FoodsoftConfig.select_multifoodcoop arguments.shift + FoodsoftConfig.select_multifoodcoop arguments[0] orig_deserialize(arguments) end end end end +module ActiveJob + module Execution + # Store the original `_perform_job` method + original_perform_job = instance_method(:_perform_job) + + # Override the `_perform_job` method + define_method(:_perform_job) do + foodsoft_scope = @arguments.shift + FoodsoftConfig.select_foodcoop foodsoft_scope + + # Call the original `_perform_job` method + original_perform_job.bind(self).call + end + end +end + ActiveSupport.on_load(:after_initialize) do ActiveJob::Arguments.include FoodsoftActiveJobArguments end