Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
ActiveJob should support passing of keyword arguments to perform method #18741
Since Rails 5+ will required Ruby 2.2+, ActiveJob should support the passing of keyword arguments to the perform method.
Currently (rails 4.2), you get a
Unfortunately, the HashWithIndifferent access approach is insufficient for our needs. It's perfectly reasonable to want to use keyword arguments with Active Job, which we will see as a symbol keyed hash. For Ruby to convert this back to keyword arguments, it must deserialize to a symbol keyed hash. There are two primary changes to the serialization behavior. We first treat a HWIA separately, and mark it as such so we can convert it back into a HWIA during deserialization. For normal hashes, we keep a list of all symbol keys, and convert them back to symbol keys after deserialization. Fixes #18741. Conflicts: activejob/CHANGELOG.md
This is awesome. I was testing it out with Ruby 4.2.4 and noticed that if you mix keyword and regular arguments it doesn't work. For example:
Won't work and gives you a