redis 5.4.0 → 5.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 485e29928983863d4725f47cf52718493c36724b1b736951603fb81648fd1ffb
4
- data.tar.gz: 17663d08f23fe1106e89f3b06805402f5f1ff7b5bcee2e4bb9593cc3329646f7
3
+ metadata.gz: 5d76a0d8a8a0361f991dc110219ffc77c12503148f9ece9586dd274321283265
4
+ data.tar.gz: fab1b1d4d3a5e22d2d952c98648a1412239f117a2c53bcbdf20ea7c43f456faa
5
5
  SHA512:
6
- metadata.gz: 71bed198d46e435677b3ebf725ba65a55af5d5d7a73ff1593d2ac7044972d2898f7c5503fc69d3aa202d8a00781174e0c7348cefa06102c948b9df19cd22d81c
7
- data.tar.gz: 607288d9a58459346db9c6e79041d35c98cc2c3268c74ffceecd395799833b9ba8e0f1c29c236d6c5afdc917bd66089721fdf5977efcab0799f46cfedb18e826
6
+ metadata.gz: 042f0aa785647bb0e6f73ff50722ba5dcf440e3f5e817c7eec030b876b7d34ca8be42a7a5a5a1767eba66b7424a8d2e74fe8e7b9e0362eedefe4fb58878cdb57
7
+ data.tar.gz: 5bc22d99f3a77929f35c02072be18d663ca127c77055afadd55455d3f571f61bbd70853d6fd4414e0e11f601c20d68872e8f097fce109341e5bda39f6aadb9fe
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Unreleased
2
2
 
3
+ # 5.4.1
4
+
5
+ - Properly handle NOSCRIPT errors.
6
+
3
7
  # 5.4.0
4
8
 
5
9
  - Fix `blmpop` method to actually use `BLMPOP`, it was mistakenly issuing `LMPOP` commands.
data/lib/redis/client.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'redis-client'
4
-
5
3
  class Redis
6
4
  class Client < ::RedisClient
7
5
  ERROR_MAPPING = {
@@ -17,6 +15,9 @@ class Redis
17
15
  RedisClient::ProtocolError => Redis::ProtocolError,
18
16
  RedisClient::OutOfMemoryError => Redis::OutOfMemoryError,
19
17
  }
18
+ if defined?(RedisClient::NoScriptError)
19
+ ERROR_MAPPING[RedisClient::NoScriptError] = Redis::NoScriptError
20
+ end
20
21
 
21
22
  class << self
22
23
  def config(**kwargs)
@@ -86,6 +87,12 @@ class Redis
86
87
  undef_method :call_once_v
87
88
  undef_method :blocking_call
88
89
 
90
+ def ensure_connected(retryable: true, &block)
91
+ super(retryable: retryable, &block)
92
+ rescue ::RedisClient::Error => error
93
+ Client.translate_error!(error)
94
+ end
95
+
89
96
  def call_v(command, &block)
90
97
  super(command, &block)
91
98
  rescue ::RedisClient::Error => error
data/lib/redis/errors.rb CHANGED
@@ -29,6 +29,11 @@ class Redis
29
29
  class OutOfMemoryError < CommandError
30
30
  end
31
31
 
32
+ if defined?(RedisClient::NoScriptError)
33
+ class NoScriptError < CommandError
34
+ end
35
+ end
36
+
32
37
  # Base error for connection related errors.
33
38
  class BaseConnectionError < BaseError
34
39
  end
data/lib/redis/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Redis
4
- VERSION = '5.4.0'
4
+ VERSION = '5.4.1'
5
5
  end
data/lib/redis.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "redis-client"
4
+
3
5
  require "monitor"
4
6
  require "redis/errors"
5
7
  require "redis/commands"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.0
4
+ version: 5.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ezra Zygmuntowicz
@@ -15,7 +15,7 @@ authors:
15
15
  - Pieter Noordhuis
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2025-02-20 00:00:00.000000000 Z
18
+ date: 2025-07-17 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: redis-client
@@ -74,9 +74,9 @@ licenses:
74
74
  metadata:
75
75
  bug_tracker_uri: https://github.com/redis/redis-rb/issues
76
76
  changelog_uri: https://github.com/redis/redis-rb/blob/master/CHANGELOG.md
77
- documentation_uri: https://www.rubydoc.info/gems/redis/5.4.0
77
+ documentation_uri: https://www.rubydoc.info/gems/redis/5.4.1
78
78
  homepage_uri: https://github.com/redis/redis-rb
79
- source_code_uri: https://github.com/redis/redis-rb/tree/v5.4.0
79
+ source_code_uri: https://github.com/redis/redis-rb/tree/v5.4.1
80
80
  rdoc_options: []
81
81
  require_paths:
82
82
  - lib