redqueen 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/redqueen/client.rb +9 -0
- data/lib/redqueen/version.rb +1 -1
- data/lib/redqueen.rb +1 -1
- data/spec/lib/redqueen/client_spec.rb +21 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf853c37d98501c9ba437f10f1e97a1be014b328
|
4
|
+
data.tar.gz: b5885feb9955ec1b984c43f36c6327606545e5db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5414cfeb3b0892ec9dbb3d208460e006a348410a6232ddb65d2a9ead4488a4b4d1aa95f7236dd684731b6b25c106789e456b7fbf52a7a896bef74459d25e954a
|
7
|
+
data.tar.gz: 51bf45cc66ffd9f427f03bcdcecbf1fa954fa944107a215627a13f74d7eefb360145edd35ab621b7b85322c53b2495397e64a6a6a878c1efeb86bdc1ca9feaac
|
data/lib/redqueen/client.rb
CHANGED
@@ -9,10 +9,19 @@ module RedQueen
|
|
9
9
|
unpack @client.get prefix(key)
|
10
10
|
end
|
11
11
|
|
12
|
+
def mget keys
|
13
|
+
return [] if keys.nil? or keys.empty?
|
14
|
+
@client.mget(keys.map{|k| prefix(k)}).map{|v| unpack(v)}
|
15
|
+
end
|
16
|
+
|
12
17
|
def set key, value
|
13
18
|
@client.set prefix(key), value.to_msgpack
|
14
19
|
end
|
15
20
|
|
21
|
+
def mset hash
|
22
|
+
@client.mset hash.flat_map{|k, v| [prefix(k), v.to_msgpack]}
|
23
|
+
end
|
24
|
+
|
16
25
|
def select index
|
17
26
|
@client.select index
|
18
27
|
end
|
data/lib/redqueen/version.rb
CHANGED
data/lib/redqueen.rb
CHANGED
@@ -7,7 +7,7 @@ require 'active_support/all'
|
|
7
7
|
module RedQueen
|
8
8
|
class Queen
|
9
9
|
attr_reader :clients
|
10
|
-
delegate :get, :set, to: :client
|
10
|
+
delegate :get, :set, :mget, :mset, to: :client
|
11
11
|
|
12
12
|
def initialize servers
|
13
13
|
@clients = [servers].reject{|s| s.blank?}.flatten.map do |server|
|
@@ -20,4 +20,25 @@ describe RedQueen::Client do
|
|
20
20
|
@rq.set ['key2'], {hello: 'world2'}
|
21
21
|
MessagePack.unpack(@redis.get('TestApp:testenv:key2')).should == {"hello" => "world2"}
|
22
22
|
end
|
23
|
+
|
24
|
+
it 'should mget' do
|
25
|
+
@rq.set 'key1', "abc"
|
26
|
+
@rq.set ['mod1','key1'], "def"
|
27
|
+
@rq.set ['key2'], {hello: 'world2'}
|
28
|
+
@rq.mget(['key1', ['mod1','key1']]).should == ["abc", "def"]
|
29
|
+
@rq.mget(['key1', 'key2']).should == ["abc", {"hello" => "world2"}]
|
30
|
+
@rq.mget(['key1', ['key2']]).should == ["abc", {"hello" => "world2"}]
|
31
|
+
@rq.mget(['key1', 'non_existent_key', ['key2']]).should == ["abc", nil, {"hello" => "world2"}]
|
32
|
+
@rq.mget([nil, 'non_existent_key', ['key2']]).should == [nil, nil, {"hello" => "world2"}]
|
33
|
+
@rq.mget([nil]).should == [nil]
|
34
|
+
@rq.mget([]).should == []
|
35
|
+
@rq.mget(nil).should == []
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'should mset' do
|
39
|
+
@rq.mset hello: 'world', inty: 'minty'
|
40
|
+
@rq.mget(['hello', 'inty']).should == ['world', 'minty']
|
41
|
+
@rq.mset({['m1', 'k1'] => 'a1', "k2" => 'a2', 24 => 42})
|
42
|
+
@rq.mget([['m1', 'k1'], 'k2', '24']).should == ['a1', 'a2', 42]
|
43
|
+
end
|
23
44
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redqueen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sudhir Jonathan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|