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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cf853c37d98501c9ba437f10f1e97a1be014b328
4
- data.tar.gz: b5885feb9955ec1b984c43f36c6327606545e5db
3
+ metadata.gz: a3c55f3ae1a35446125c05e068d729e83c9f33cc
4
+ data.tar.gz: bd040de67e47fc58c3390dbb79583b424f62642e
5
5
  SHA512:
6
- metadata.gz: 5414cfeb3b0892ec9dbb3d208460e006a348410a6232ddb65d2a9ead4488a4b4d1aa95f7236dd684731b6b25c106789e456b7fbf52a7a896bef74459d25e954a
7
- data.tar.gz: 51bf45cc66ffd9f427f03bcdcecbf1fa954fa944107a215627a13f74d7eefb360145edd35ab621b7b85322c53b2495397e64a6a6a878c1efeb86bdc1ca9feaac
6
+ metadata.gz: 9bc31a59e213edccfd862ec55c3721ec6af5b7c77cdc8dfef3045e30f75f57d08d4b14f8991ea7cde074ad1aa6a1b584f15bc6e1202f06633be16a113ffa2ceb
7
+ data.tar.gz: 7c617feca2e67e9d4ea067e80ff6e2798dc285961e8a579cbdfc4d9313dd5ac19c3159cc282bb5bd79aa5ab23d570ba51670e550589c2566e6b40f40330770e0
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.0.0-p353
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Redqueen
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
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
@@ -29,4 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency "guard"
30
30
  spec.add_development_dependency "guard-rspec"
31
31
  spec.add_development_dependency "guard-bundler"
32
+ spec.add_development_dependency "growl"
32
33
  end
@@ -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
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-14 00:00:00.000000000 Z
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.10
209
+ rubygems_version: 2.1.11
195
210
  signing_key:
196
211
  specification_version: 4
197
212
  summary: Rails wrapper for Redis