redis_model 0.1.0.pre3 → 0.1.0
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:
|
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
|