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 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