Class: RedQueen::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/redqueen/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(prefix, client) ⇒ Client

Returns a new instance of Client.



3
4
5
6
# File 'lib/redqueen/client.rb', line 3

def initialize prefix, client
	@prefix = prefix
	@client = client
end

Instance Method Details

#get(key) ⇒ Object



8
9
10
# File 'lib/redqueen/client.rb', line 8

def get key
	unpack @client.get prefix(key)
end

#mget(keys) ⇒ Object



12
13
14
15
# File 'lib/redqueen/client.rb', line 12

def mget keys
	return [] if keys.nil? or keys.empty?
	@client.mget(keys.map{|k| prefix(k)}).map{|v| unpack(v)}
end

#mset(hash) ⇒ Object



21
22
23
# File 'lib/redqueen/client.rb', line 21

def mset hash
	@client.mset hash.flat_map{|k, v| [prefix(k), v.to_msgpack]}
end

#prefix(key) ⇒ Object



29
30
31
# File 'lib/redqueen/client.rb', line 29

def prefix key
	[@prefix, key].join(':')
end

#select(index) ⇒ Object



25
26
27
# File 'lib/redqueen/client.rb', line 25

def select index
	@client.select index
end

#set(key, value) ⇒ Object



17
18
19
# File 'lib/redqueen/client.rb', line 17

def set key, value
	@client.set prefix(key), value.to_msgpack
end

#unpack(item) ⇒ Object



33
34
35
36
# File 'lib/redqueen/client.rb', line 33

def unpack item
	return nil if item.nil?
	MessagePack.unpack item
end