redqueen 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|