Commit Graph

3 Commits

Author SHA1 Message Date
Sean Griffin 31085a5cd4 Allow keyword arguments to work with ActiveJob
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.
2015-01-30 13:43:39 -07:00
Jeremy Kemper 3f1d04e3bb Fix string/gid collision in job arguments
Serialize Global IDs as special objects, distinguishable from Strings
2014-09-25 10:00:19 -07:00
Jeremy Kemper e3a65c6d7c Tighten up AJ::Arguments and its tests
* Disallow deserialization of non-primitive objects
* Broaden coverage; remove superfluous tests
2014-09-14 14:11:26 -07:00