Sha256: 4917f96fff64193d560f07bcbf85e8e6ab744e84cf05435c1baf1e9ac2945c84
Contents?: true
Size: 820 Bytes
Versions: 2
Compression:
Stored size: 820 Bytes
Contents
class Kredis::Types::Proxy require_relative "proxy/failsafe" include Failsafe attr_accessor :redis, :key def initialize(redis, key, **options) @redis, @key = redis, key options.each { |key, value| send("#{key}=", value) } end def multi(...) redis.multi(...) end def method_missing(method, *args, **kwargs) failsafe do Kredis.logger&.debug log_message(method, *args, **kwargs) redis.public_send method, key, *args, **kwargs end end private def log_message(method, *args, **kwargs) args = args.flatten.reject(&:blank?).presence kwargs = kwargs.reject { |_k, v| v.blank? }.presence type_name = self.class.name.split("::").last "[Kredis #{type_name}] #{method.upcase} #{key} #{args&.inspect} #{kwargs&.inspect}".chomp end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
kredis-0.2.3 | lib/kredis/types/proxy.rb |
kredis-0.2.2 | lib/kredis/types/proxy.rb |