mirror of
https://github.com/discourse/discourse.git
synced 2025-05-24 02:38:16 +08:00
DEV: Pass kwargs to the redis gem when calling methods/commands that we don't wrap (#14530)
This commit fixes the `eval` and `evalsha` commands/methods and any other methods that don't have a wrapper in `DiscourseRedis` and expect keyword arguments. I noticed this problem in Logster when I was trying to fetch some log messages in JSON format using the rails console and saw the messages were missing the `env` field. Logster uses the `eval` command to fetch messages `env`s:
dc351fd00f/lib/logster/redis_store.rb (L250-L253)
and that code was not fetching anything because `DiscourseRedis` didn't pass the `keys` keyword arg to the redis gem.
This commit is contained in:
@ -39,7 +39,7 @@ class DiscourseRedis
|
||||
# prefix the key with the namespace
|
||||
def method_missing(meth, *args, **kwargs, &block)
|
||||
if @redis.respond_to?(meth)
|
||||
DiscourseRedis.ignore_readonly { @redis.public_send(meth, *args, &block) }
|
||||
DiscourseRedis.ignore_readonly { @redis.public_send(meth, *args, **kwargs, &block) }
|
||||
else
|
||||
super
|
||||
end
|
||||
|
Reference in New Issue
Block a user