redis_model 0.1.0.pre3 → 0.1.0
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24e2a96b8cb23085ea04a00d6b724bad2cd2dc3c
|
4
|
+
data.tar.gz: 1b8e76b298b35262e60622763cafcdbf1cc9b676
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 006173a4ef7c04224396e6f0fbcef54c31b553781a1c00bfc07d86dcc421a291e6959d4aafe879530cb3699346228db85dd360431e81a74b62df30f4d88065f1
|
7
|
+
data.tar.gz: f7098aa9a4162d1c5000f8ac6cc9a062ed3cd9800f68cfd49a91dcb1290ff0e2e85b6e6e8c779ea6dae8b78e0f1dc515c8c835138c469972f507ad55a867463d
|
@@ -179,6 +179,17 @@ module RedisModel
|
|
179
179
|
|
180
180
|
result
|
181
181
|
end
|
182
|
+
|
183
|
+
# Public: Obtain rank-sampled keys from the sorted set.
|
184
|
+
#
|
185
|
+
# count - Number of keys to sample
|
186
|
+
#
|
187
|
+
# Returns Array of sampled keys.
|
188
|
+
def sample(count = 1)
|
189
|
+
(0...count).to_a.sample(count).map do |sampled_rank|
|
190
|
+
connection.zrevrange(key_label, sampled_rank, sampled_rank)
|
191
|
+
end.compact.map(&:first)
|
192
|
+
end
|
182
193
|
end
|
183
194
|
end
|
184
195
|
end
|
data/lib/redis_model/version.rb
CHANGED
data/lib/redis_model.rb
CHANGED
@@ -3,6 +3,7 @@ require 'time'
|
|
3
3
|
|
4
4
|
require 'redis'
|
5
5
|
require 'active_support/inflector'
|
6
|
+
require 'active_support/time'
|
6
7
|
|
7
8
|
require "redis_model/version"
|
8
9
|
require 'redis_model/configurations'
|
@@ -34,4 +35,8 @@ module RedisModel
|
|
34
35
|
yield configurations if block_given?
|
35
36
|
end
|
36
37
|
end
|
38
|
+
|
39
|
+
module Helpers
|
40
|
+
autoload :SortedSetPaginator, 'redis_model/helpers/sorted_set_paginator'
|
41
|
+
end
|
37
42
|
end
|
@@ -300,4 +300,11 @@ describe RedisModel::Types::SortedSet do
|
|
300
300
|
end
|
301
301
|
end
|
302
302
|
end
|
303
|
+
|
304
|
+
describe '#sample' do
|
305
|
+
before { populate }
|
306
|
+
|
307
|
+
it { expect(members.keys.map(&:to_s)).to be_include(object.sample.first) }
|
308
|
+
it { expect(members.keys.map(&:to_s).sort).to eq(object.sample(3).sort) }
|
309
|
+
end
|
303
310
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis_model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Inbeom Hwang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -161,9 +161,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
161
161
|
version: '0'
|
162
162
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- - "
|
164
|
+
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
166
|
+
version: '0'
|
167
167
|
requirements: []
|
168
168
|
rubyforge_project:
|
169
169
|
rubygems_version: 2.2.2
|