redqueen 0.1.4 → 0.1.5
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/.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
|