diff --git a/activejob/lib/active_job/railtie.rb b/activejob/lib/active_job/railtie.rb index 3064a591e7..2f6d351b99 100644 --- a/activejob/lib/active_job/railtie.rb +++ b/activejob/lib/active_job/railtie.rb @@ -13,26 +13,21 @@ module ActiveJob ActiveSupport.on_load(:active_job) { self.logger = ::Rails.logger } end - initializer "active_job.custom_serializers" do |app| - config.after_initialize do - custom_serializers = app.config.active_job.delete(:custom_serializers) + initializer "active_job.set_configs" do + config.after_initialize do |app| + options = app.config.active_job + options.queue_adapter ||= :async + + custom_serializers = options.delete(:custom_serializers) ActiveJob::Serializers.add_serializers custom_serializers - end - end - initializer "active_job.set_configs" do |app| - options = app.config.active_job - options.queue_adapter ||= :async - - ActiveSupport.on_load(:active_job) do - options.each do |k, v| - k = "#{k}=" - send(k, v) if respond_to? k + ActiveSupport.on_load(:active_job) do + options.each { |k, v| send("#{k}=", v) } end - end - ActiveSupport.on_load(:action_dispatch_integration_test) do - include ActiveJob::TestHelper + ActiveSupport.on_load(:action_dispatch_integration_test) do + include ActiveJob::TestHelper + end end ActiveSupport.on_load(:active_record) do diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb index 00b1c8de0b..96b131cbe5 100644 --- a/railties/test/application/configuration_test.rb +++ b/railties/test/application/configuration_test.rb @@ -2322,6 +2322,17 @@ module ApplicationTests assert_equal true, ActionView::Helpers::FormTagHelper.default_enforce_utf8 end + test "raises when unknown configuration option is set for ActiveJob" do + add_to_config <<-RUBY + config.active_job.unknown = "test" + RUBY + + assert_raise(NoMethodError) do + app "development" + ActiveJob::Base # load active_job + end + end + test "ActiveJob::Base.retry_jitter is 0.15 by default for new apps" do app "development"