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)