Generally followed the pattern for https://github.com/rails/rails/pull/32034 * Removes needless CI configs for 2.4 * Targets 2.5 in rubocop * Updates existing CHANGELOG entries for fewer merge conflicts * Removes Hash#slice extension as that's inlined on Ruby 2.5. * Removes the need for send on define_method in MethodCallAssertions.
3.3 KiB
-
Return false instead of the job instance when
enqueue
is aborted.This will be the behavior in Rails 6.1 but it can be controlled now with
config.active_job.return_false_on_aborted_enqueue
.Kir Shatrov
-
Keep executions for each specific declaration
Each
retry_on
declaration has now its own specific executions counter. Before it was shared between all executions of a job.Alberto Almagro
-
Allow all assertion helpers that have a
only
andexcept
keyword to accept Procs.Edouard Chin
-
Restore HashWithIndifferentAccess support to ActiveJob::Arguments.deserialize.
Gannon McGibbon
-
Include deserialized arguments in job instances returned from
assert_enqueued_with
andassert_performed_with
Alan Wu
-
Allow
assert_enqueued_with
/assert_performed_with
methods to accept a proc for theargs
argument. This is useful to check if only a subset of arguments matches your expectations.Edouard Chin
-
ActionDispatch::IntegrationTest
includesActiveJob::TestHelper
module by default.Ricardo Díaz
-
Added
enqueue_retry.active_job
,retry_stopped.active_job
, anddiscard.active_job
hooks.steves
-
Allow
assert_performed_with
to be called without a block.bogdanvlviv
-
Execution of
assert_performed_jobs
, andassert_no_performed_jobs
without a block should respect passed:except
,:only
, and:queue
options.bogdanvlviv
-
Allow
:queue
option to job assertions and helpers.bogdanvlviv
-
Allow
perform_enqueued_jobs
to be called without a block.Performs all of the jobs that have been enqueued up to this point in the test.
Kevin Deisz
-
Move
enqueue
/enqueue_at
notifications to an around callback.Improves timing accuracy over the old after callback by including time spent writing to the adapter's IO implementation.
Zach Kemp
-
Allow call
assert_enqueued_with
with no block.Example:
def test_assert_enqueued_with MyJob.perform_later(1,2,3) assert_enqueued_with(job: MyJob, args: [1,2,3], queue: 'low') MyJob.set(wait_until: Date.tomorrow.noon).perform_later assert_enqueued_with(job: MyJob, at: Date.tomorrow.noon) end
bogdanvlviv
-
Allow passing multiple exceptions to
retry_on
, anddiscard_on
.George Claghorn
-
Pass the error instance as the second parameter of block executed by
discard_on
.Fixes #32853.
Yuji Yaginuma
-
Remove support for Qu gem.
Reasons are that the Qu gem wasn't compatible since Rails 5.1, gem development was stopped in 2014 and maintainers have confirmed its demise. See issue #32273
Alberto Almagro
-
Add support for timezones to Active Job.
Record what was the current timezone in effect when the job was enqueued and then restore when the job is executed in same way that the current locale is recorded and restored.
Andrew White
-
Rails 6 requires Ruby 2.5.0 or newer.
Jeremy Daer, Kasper Timm Hansen
-
Add support to define custom argument serializers.
Evgenii Pecherkin, Rafael Mendonça França
Please check 5-2-stable for previous changes.