* Convert symbol hash keys to strings when calling .perform_async Fixes a warning from Sidekiq 6.4.0+ about perform_async arguments which are not equal when passed to perform (`JSON.parse(JSON.dump(arg))` should equal arg). This is a safety measure to prevent passing objects (like classes, or model instances) rather than their representations (like a class name, or a model's attributes hash). This warning will be an error in sidekiq 7 * Turn warning into an error in non-production environments * Use string keys for reaction notification and article fetched Missed these two on the first pass * Update example argument hashes for #enqueues_on_correct_queue Since this calls perform_async under the hood we need to pass json safe hashes in the test cases as well. https://github.com/forem/forem/blob/main/spec/workers/shared_examples/enqueues_on_correct_queue.rb * Convert keys from FollowData#to_h to string before perform_async I'm not sure enough where else (outside of notification) to_h is being called, so I'm converting here when building args, rather than in FollowData#to_h, which might be my next step. * Let FollowData#to_h return a hash with string keys Update spec to use string keys as well. * Make to_h return string keys for ReactionData Like FollowData, the #to_h method is only used to call notifications (this is used to enqueue sidekiq jobs). * Remove a key that was in the hash Since reaction_data calls to_h, it gets string and not symbol, keys. Call Hash#except with a key that was actually there. |
||
|---|---|---|
| .. | ||
| migrate | ||
| schema.rb | ||
| seeds.rb | ||