redqueen 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -0
- data/lib/redqueen/client.rb +16 -0
- data/lib/redqueen/version.rb +1 -1
- data/lib/redqueen.rb +1 -1
- data/redqueen.gemspec +1 -0
- data/spec/lib/redqueen/client_spec.rb +29 -0
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3c55f3ae1a35446125c05e068d729e83c9f33cc
|
4
|
+
data.tar.gz: bd040de67e47fc58c3390dbb79583b424f62642e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9bc31a59e213edccfd862ec55c3721ec6af5b7c77cdc8dfef3045e30f75f57d08d4b14f8991ea7cde074ad1aa6a1b584f15bc6e1202f06633be16a113ffa2ceb
|
7
|
+
data.tar.gz: 7c617feca2e67e9d4ea067e80ff6e2798dc285961e8a579cbdfc4d9313dd5ac19c3159cc282bb5bd79aa5ab23d570ba51670e550589c2566e6b40f40330770e0
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.0.0-p353
|
data/lib/redqueen/client.rb
CHANGED
@@ -22,6 +22,22 @@ module RedQueen
|
|
22
22
|
@client.mset hash.flat_map{|k, v| [prefix(k), v.to_msgpack]}
|
23
23
|
end
|
24
24
|
|
25
|
+
def zadd key, *args
|
26
|
+
@client.zadd prefix(key), args.flatten.map{|item| [item[:score], item[:member].to_msgpack]}
|
27
|
+
end
|
28
|
+
|
29
|
+
def zrange key, start, finish
|
30
|
+
@client.zrange(prefix(key), start, finish).map{|i| unpack(i)}
|
31
|
+
end
|
32
|
+
|
33
|
+
def zrevrange key, start, finish
|
34
|
+
@client.zrevrange(prefix(key), start, finish).map{|i| unpack(i)}
|
35
|
+
end
|
36
|
+
|
37
|
+
def zinterstore key, sources
|
38
|
+
@client.zinterstore prefix(key), sources.map{|s| prefix(s)}
|
39
|
+
end
|
40
|
+
|
25
41
|
def select index
|
26
42
|
@client.select index
|
27
43
|
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, :mget, :mset, to: :client
|
10
|
+
delegate :get, :set, :mget, :mset, :zadd, :zrange, :zrevrange, :zinterstore, to: :client
|
11
11
|
|
12
12
|
def initialize servers
|
13
13
|
@clients = [servers].reject{|s| s.blank?}.flatten.map do |server|
|
data/redqueen.gemspec
CHANGED
@@ -41,4 +41,33 @@ describe RedQueen::Client do
|
|
41
41
|
@rq.mset({['m1', 'k1'] => 'a1', "k2" => 'a2', 24 => 42})
|
42
42
|
@rq.mget([['m1', 'k1'], 'k2', '24']).should == ['a1', 'a2', 42]
|
43
43
|
end
|
44
|
+
|
45
|
+
it 'should zadd' do
|
46
|
+
@rq.zadd 'myzset', {score: 2, member: 'two'}
|
47
|
+
@rq.zadd 'myzset', {score: 1, member: 'one'}, {score: 5, member: 'five'}
|
48
|
+
@rq.zadd 'myzset', [{score: 3, member: 'three'}, {score: 4, member: 'four'}]
|
49
|
+
@redis.zrange('TestApp:testenv:myzset', 0, 4).map{|i| MessagePack.unpack(i)}.should == ['one', 'two', 'three', 'four', 'five']
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'should zrange' do
|
53
|
+
@rq.zadd 'myzset', {score: 2, member: 'two'}
|
54
|
+
@rq.zadd 'myzset', {score: 1, member: 'one'}, {score: 3, member: 'three'}
|
55
|
+
@rq.zrange('myzset', 0, 100).should == ['one', 'two', 'three']
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'should zrevrange' do
|
59
|
+
@rq.zadd 'myzset', {score: 2, member: 'two'}
|
60
|
+
@rq.zadd 'myzset', {score: 1, member: 'one'}, {score: 3, member: 'three'}
|
61
|
+
@rq.zrevrange('myzset', 0, 2).should == ['three', 'two', 'one']
|
62
|
+
|
63
|
+
@rq.zrevrange('nonexistentkey', 0, -1).should == []
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'should zinterstore' do
|
67
|
+
@rq.zadd ['myset', 1], {score: 2, member: 'two'}, {score: 10, member: 'one'}
|
68
|
+
@rq.zadd ['myset', 2], {score: 1, member: 'one'}, {score: 3, member: 'three'}
|
69
|
+
@rq.zinterstore 'myset', [['myset', 1], ['myset', 2]]
|
70
|
+
@rq.zrange('myset', 0, -1).should == ['one']
|
71
|
+
end
|
72
|
+
|
44
73
|
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.5
|
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
|
+
date: 2013-12-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -150,6 +150,20 @@ dependencies:
|
|
150
150
|
- - '>='
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: growl
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - '>='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
153
167
|
description: Rails wrapper for Redis
|
154
168
|
email:
|
155
169
|
- sudhir.j@gmail.com
|
@@ -159,6 +173,7 @@ extra_rdoc_files: []
|
|
159
173
|
files:
|
160
174
|
- .gitignore
|
161
175
|
- .rspec
|
176
|
+
- .ruby-version
|
162
177
|
- Gemfile
|
163
178
|
- Guardfile
|
164
179
|
- LICENSE.txt
|
@@ -191,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
206
|
version: '0'
|
192
207
|
requirements: []
|
193
208
|
rubyforge_project:
|
194
|
-
rubygems_version: 2.1.
|
209
|
+
rubygems_version: 2.1.11
|
195
210
|
signing_key:
|
196
211
|
specification_version: 4
|
197
212
|
summary: Rails wrapper for Redis
|