Sha256: 2e1df2fabc0a9e1c1c0e36388e34dad717fc3a2093b72fb69e004c98fc6d5d29
Contents?: true
Size: 916 Bytes
Versions: 1
Compression:
Stored size: 916 Bytes
Contents
module FFI module HiredisVip class Touch def initialize(client) @client = client end def touch(*keys) reply = nil keys = keys.flatten number_of_touches = keys.size command = "TOUCH#{' %b' * number_of_touches}" command_args = [] keys.each do |key| command_args << :pointer << key << :size_t << key.size end synchronize do |connection| reply = @client.execute_command(connection, command, *command_args) end return nil if reply.nil? || reply.null? case reply[:type] when :REDIS_REPLY_INTEGER reply[:integer] else 0 end ensure ::FFI::HiredisVip::Core.freeReplyObject(reply.pointer) if reply end def supports_touch? true end end # class Touch end # module HiredisVip end # module FFI
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ffi-hiredis_vip-0.1.0.pre4 | lib/ffi/hiredis_vip/touch.rb |