class Kredis::Types::Proxy
Attributes
key[RW]
redis[RW]
Public Class Methods
new(redis, key, **options)
click to toggle source
# File lib/kredis/types/proxy.rb, line 7 def initialize(redis, key, **options) @redis, @key = redis, key options.each { |key, value| send("#{key}=", value) } end
Public Instance Methods
method_missing(method, *args, **kwargs)
click to toggle source
# File lib/kredis/types/proxy.rb, line 16 def method_missing(method, *args, **kwargs) Kredis.instrument :proxy, **log_message(method, *args, **kwargs) do failsafe do redis.public_send method, key, *args, **kwargs end end end
multi(...)
click to toggle source
# File lib/kredis/types/proxy.rb, line 12 def multi(...) redis.multi(...) end
Private Instance Methods
log_message(method, *args, **kwargs)
click to toggle source
# File lib/kredis/types/proxy.rb, line 25 def log_message(method, *args, **kwargs) args = args.flatten.reject(&:blank?).presence kwargs = kwargs.reject { |_k, v| v.blank? }.presence { message: "#{method.upcase} #{key} #{args&.inspect} #{kwargs&.inspect}".chomp } end