From 2cda1dd542b20a47245cb8d28a4f6f8750c2284c Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 19 Jun 2024 18:59:37 +0200 Subject: [PATCH] Fix compatibility with Redis < 6.2 again (#30412) --- config/application.rb | 1 + lib/stoplight/redis_data_store_extensions.rb | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 lib/stoplight/redis_data_store_extensions.rb diff --git a/config/application.rb b/config/application.rb index 65407da05c9..5aca74fd1c6 100644 --- a/config/application.rb +++ b/config/application.rb @@ -49,6 +49,7 @@ require_relative '../lib/webpacker/manifest_extensions' require_relative '../lib/webpacker/helper_extensions' require_relative '../lib/rails/engine_extensions' require_relative '../lib/action_dispatch/remote_ip_extensions' +require_relative '../lib/stoplight/redis_data_store_extensions' require_relative '../lib/active_record/database_tasks_extensions' require_relative '../lib/active_record/batches' require_relative '../lib/active_record/with_recursive' diff --git a/lib/stoplight/redis_data_store_extensions.rb b/lib/stoplight/redis_data_store_extensions.rb new file mode 100644 index 00000000000..90074878401 --- /dev/null +++ b/lib/stoplight/redis_data_store_extensions.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +# Restore compatibility with Redis < 6.2 + +module Stoplight + module DataStore + module RedisExtensions + def query_failures(light, transaction: @redis) + window_start = Time.now.to_i - light.window_size + + transaction.zrevrangebyscore(failures_key(light), Float::INFINITY, window_start) + end + end + end +end + +Stoplight::DataStore::Redis.prepend(Stoplight::DataStore::RedisExtensions)