Skip to content
  • Sean Griffin's avatar
    03476a68
    Allow keyword arguments to work with ActiveJob · 03476a68
    Sean Griffin authored
    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
    03476a68
    Allow keyword arguments to work with ActiveJob
    Sean Griffin authored
    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
Loading