redis-client 0.24.0 → 0.25.0
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 +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/redis_client/version.rb +1 -1
- data/lib/redis_client.rb +15 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51d39972977cecb9d366e8475e937bf4e715c1b23dc79226ff357c8593974874
|
4
|
+
data.tar.gz: 2e8520f5c0b4f1325860bb155b1f203f6d5d950b3ead02a8f4a14219b4575b7e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c9a7e554039d54e10f4ea5fdb13c586a15f008b81fe4bb923f6b79f2953d70506ce2537f4932f932f716ab2b40aefae1899d1ade3ca08e198718c7878246c47
|
7
|
+
data.tar.gz: 304bf6766229b85ee85fb309b22680e431734054e63b02c5d1ae30bfb0a6e6521735832cbf6d9621916ddc6f41667b6555b7178c3670f999b8471d2a3c798cb9
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Unreleased
|
2
2
|
|
3
|
+
# 0.25.0
|
4
|
+
|
5
|
+
- Fix `hiredis-client` compilation with GCC 15.
|
6
|
+
- Fix `hiredis-client` from a work directory with spaces.
|
7
|
+
- Add `CommandError#code`.
|
8
|
+
- Add `RedisClient::NoScriptError` for `EVALSHA`.
|
9
|
+
|
3
10
|
# 0.24.0
|
4
11
|
|
5
12
|
- Allow `sentinel_password` to be provided as a `Proc`.
|
data/lib/redis_client/version.rb
CHANGED
data/lib/redis_client.rb
CHANGED
@@ -130,8 +130,18 @@ class RedisClient
|
|
130
130
|
end
|
131
131
|
end
|
132
132
|
|
133
|
+
module HasCode
|
134
|
+
attr_reader :code
|
135
|
+
|
136
|
+
def initialize(message = nil, code = nil)
|
137
|
+
super(message)
|
138
|
+
@code = code
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
133
142
|
class CommandError < Error
|
134
143
|
include HasCommand
|
144
|
+
include HasCode
|
135
145
|
|
136
146
|
class << self
|
137
147
|
def parse(error_message)
|
@@ -144,7 +154,7 @@ class RedisClient
|
|
144
154
|
end
|
145
155
|
code ||= error_message.split(' ', 2).first
|
146
156
|
klass = ERRORS.fetch(code, self)
|
147
|
-
klass.new(error_message.strip)
|
157
|
+
klass.new(error_message.strip, code.freeze)
|
148
158
|
end
|
149
159
|
end
|
150
160
|
end
|
@@ -153,12 +163,15 @@ class RedisClient
|
|
153
163
|
PermissionError = Class.new(CommandError)
|
154
164
|
WrongTypeError = Class.new(CommandError)
|
155
165
|
OutOfMemoryError = Class.new(CommandError)
|
166
|
+
NoScriptError = Class.new(CommandError)
|
156
167
|
|
157
168
|
ReadOnlyError = Class.new(ConnectionError)
|
158
169
|
ReadOnlyError.include(HasCommand)
|
170
|
+
ReadOnlyError.include(HasCode)
|
159
171
|
|
160
172
|
MasterDownError = Class.new(ConnectionError)
|
161
173
|
MasterDownError.include(HasCommand)
|
174
|
+
MasterDownError.include(HasCode)
|
162
175
|
|
163
176
|
CommandError::ERRORS = {
|
164
177
|
"WRONGPASS" => AuthenticationError,
|
@@ -167,6 +180,7 @@ class RedisClient
|
|
167
180
|
"MASTERDOWN" => MasterDownError,
|
168
181
|
"WRONGTYPE" => WrongTypeError,
|
169
182
|
"OOM" => OutOfMemoryError,
|
183
|
+
"NOSCRIPT" => NoScriptError,
|
170
184
|
}.freeze
|
171
185
|
|
172
186
|
class << self
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.25.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jean Boussier
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-06-17 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: connection_pool
|