From a186c5542097b13cdb66c00cce41af795b6d034c Mon Sep 17 00:00:00 2001 From: Oliver Ford Date: Mon, 20 Jul 2026 11:17:12 +0100 Subject: [PATCH] Fix deprecation warning on MultiJson#load/dump These are [deprecated] in v1, renamed to `parse`/`generate` to match stdlib API, and will be removed in v2. Upstream que has [dropped] `multi_json` entirely, so this does not affect that transition. [deprecated]: https://github.com/sferik/multi_json/tree/v1.21.1#deprecated-in-1210 [dropped]: https://github.com/que-rb/que/commit/bdd3c3db088ba5b35d3b972cff4ff4f554687fff --- Gemfile | 1 + lib/que/adapters/base.rb | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index d031a83e..089ab9f0 100644 --- a/Gemfile +++ b/Gemfile @@ -10,6 +10,7 @@ group :development, :test do gem 'activerecord', require: nil gem 'connection_pool', require: nil gem 'gc_ruboconfig' + gem 'multi_json', '~> 1.21', require: nil gem 'pg', require: nil, platform: :ruby gem 'pg_jruby', require: nil, platform: :jruby gem 'pond', require: nil diff --git a/lib/que/adapters/base.rb b/lib/que/adapters/base.rb index 6123d569..b6a6555b 100644 --- a/lib/que/adapters/base.rb +++ b/lib/que/adapters/base.rb @@ -31,7 +31,7 @@ class Base # integer 23 => proc(&:to_i), # json - 114 => ->(value) { JSON_MODULE.load(value, create_additions: false) }, + 114 => ->(value) { JSON_MODULE.parse(value, create_additions: false) }, # float 701 => proc(&:to_f), # timestamp with time zone @@ -74,7 +74,7 @@ def execute(command, params = []) # The pg gem unfortunately doesn't convert fractions of time instances, so cast # them to a string. when Time then param.strftime("%Y-%m-%d %H:%M:%S.%6N %z") - when Array, Hash then JSON_MODULE.dump(param) + when Array, Hash then JSON_MODULE.generate(param) else param end end