Closed smudge closed 2 years ago
Needs somebody from @effron and @samandmoore to claim domain review Needs somebody from @effron and @samandmoore to claim platform review
Use the shovel operator to claim, e.g.:
@myname << domain && platform
<<domainLGTM
Needs somebody from @effron and @samandmoore to claim platform review
Use the shovel operator to claim, e.g.:
@myname << domain && platform
<<platformlgtm
Approved! :doughnut: :+1: :sparkles:
Approved! :flags: :gift: :burrito:
This PR requires additional review because of new changes
Please get another domain review from @effron, or another reviewer with write access if unavailable.
nice. glad you tested it :)
domainltm
ugh domainlgtm
curse this keyboard!
This PR requires additional review because of new changes
Please get another domain review from one of @effron, @samandmoore, or another reviewer with write access if unavailable.
Sorry for the review churn! I've been testing this in the context of our largest Rails monorepo, and seem to have ironed out the kinks, so I'd like to cut a new version all in one go.
domainlgtm
domainLGTM
Approved! :100: :pizza: :nail_care:
/domain @effron @samandmoore /platform @effron @samandmoore
Resolves #6. While we already fully support Ruby 3.0 kwargs via ActiveJob, the legacy
delay
andhandle_asynchronously
APIs did not support the new separation of positional and keyword arguments introduced in 2.7 and enforced in 3.0.This means that methods accepting both positional and keyword arguments (e.g.
def foo(a, b:)
) would fail with awrong number of arguments (given 2, expected 1; required keyword:)
error on Ruby 3. In order to resolve this, this PR changesDelayed::PerformableMethod
to handle kwargs separately from args, with a backwards compatibility check for any Ruby 2.6 methods that do not accept keyword arguments. It should also support jobs that were enqueued by the priordelayed
gem version (where the newkwargs
accessor would be nil, andargs
contains the kwargs as its last item).