leaderboard 2.4.0 → 2.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +2 -1
- data/CHANGELOG.markdown +5 -1
- data/README.markdown +75 -62
- data/Rakefile +3 -39
- data/lib/leaderboard.rb +181 -135
- data/lib/leaderboard/version.rb +1 -1
- data/spec/leaderboard_spec.rb +167 -147
- data/spec/reverse_leaderboard_spec.rb +111 -91
- data/spec/version_spec.rb +1 -1
- metadata +5 -9
- data/spec/db/.gitkeep +0 -0
- data/spec/test.conf +0 -8
@@ -5,7 +5,7 @@ describe 'Leaderboard (reverse option)' do
|
|
5
5
|
@redis_connection = Redis.new(:host => "127.0.0.1", :db => 15)
|
6
6
|
@leaderboard = Leaderboard.new('name', Leaderboard::DEFAULT_LEADERBOARD_REQUEST_OPTIONS.merge({:reverse => true}), :host => "127.0.0.1", :db => 15)
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
after(:each) do
|
10
10
|
@redis_connection.flushdb
|
11
11
|
@leaderboard.disconnect
|
@@ -21,29 +21,29 @@ describe 'Leaderboard (reverse option)' do
|
|
21
21
|
|
22
22
|
it 'should return the correct list when calling leaders' do
|
23
23
|
rank_members_in_leaderboard(25)
|
24
|
-
|
24
|
+
|
25
25
|
@leaderboard.total_members.should be(25)
|
26
26
|
|
27
27
|
leaders = @leaderboard.leaders(1)
|
28
|
-
|
28
|
+
|
29
29
|
leaders.size.should be(25)
|
30
|
-
leaders[0][:member].should
|
31
|
-
leaders[-2][:member].should
|
32
|
-
leaders[-1][:member].should
|
30
|
+
leaders[0][:member].should eql('member_1')
|
31
|
+
leaders[-2][:member].should eql('member_24')
|
32
|
+
leaders[-1][:member].should eql('member_25')
|
33
33
|
leaders[-1][:score].to_i.should be(25)
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'should return the correct list when calling members' do
|
37
37
|
rank_members_in_leaderboard(25)
|
38
|
-
|
38
|
+
|
39
39
|
@leaderboard.total_members.should be(25)
|
40
40
|
|
41
41
|
members = @leaderboard.members(1)
|
42
|
-
|
42
|
+
|
43
43
|
members.size.should be(25)
|
44
|
-
members[0][:member].should
|
45
|
-
members[-2][:member].should
|
46
|
-
members[-1][:member].should
|
44
|
+
members[0][:member].should eql('member_1')
|
45
|
+
members[-2][:member].should eql('member_24')
|
46
|
+
members[-1][:member].should eql('member_25')
|
47
47
|
members[-1][:score].to_i.should be(25)
|
48
48
|
end
|
49
49
|
|
@@ -53,31 +53,31 @@ describe 'Leaderboard (reverse option)' do
|
|
53
53
|
members = @leaderboard.members_from_score_range(10, 15, {:with_scores => false, :with_rank => false})
|
54
54
|
|
55
55
|
member_10 = {:member => 'member_10'}
|
56
|
-
members[0].should
|
56
|
+
members[0].should eql(member_10)
|
57
57
|
|
58
58
|
member_15 = {:member => 'member_15'}
|
59
|
-
members[5].should
|
59
|
+
members[5].should eql(member_15)
|
60
60
|
|
61
61
|
members = @leaderboard.members_from_score_range(10, 15, {:with_scores => true, :with_rank => true, :with_member_data => true})
|
62
62
|
|
63
63
|
member_10 = {:member => 'member_10', :rank => 10, :score => 10.0, :member_data => {'member_name' => 'Leaderboard member 10'}}
|
64
|
-
members[0].should
|
64
|
+
members[0].should eql(member_10)
|
65
65
|
|
66
66
|
member_15 = {:member => 'member_15', :rank => 15, :score => 15.0, :member_data => {'member_name' => 'Leaderboard member 15'}}
|
67
|
-
members[5].should
|
67
|
+
members[5].should eql(member_15)
|
68
68
|
end
|
69
69
|
|
70
70
|
it 'should allow you to retrieve leaders without scores and ranks' do
|
71
71
|
rank_members_in_leaderboard(Leaderboard::DEFAULT_PAGE_SIZE)
|
72
|
-
|
72
|
+
|
73
73
|
@leaderboard.total_members.should be(Leaderboard::DEFAULT_PAGE_SIZE)
|
74
74
|
leaders = @leaderboard.leaders(1, {:with_scores => false, :with_rank => false})
|
75
75
|
|
76
76
|
member_1 = {:member => 'member_1'}
|
77
|
-
leaders[0].should
|
78
|
-
|
77
|
+
leaders[0].should eql(member_1)
|
78
|
+
|
79
79
|
member_25 = {:member => 'member_25'}
|
80
|
-
leaders[24].should
|
80
|
+
leaders[24].should eql(member_25)
|
81
81
|
end
|
82
82
|
|
83
83
|
it 'should allow you to call leaders with various options that respect the defaults for the options not passed in' do
|
@@ -85,90 +85,90 @@ describe 'Leaderboard (reverse option)' do
|
|
85
85
|
|
86
86
|
leaders = @leaderboard.leaders(1, :page_size => 1)
|
87
87
|
leaders.size.should be(1)
|
88
|
-
|
88
|
+
|
89
89
|
leaders = @leaderboard.leaders(1, :with_rank => false)
|
90
90
|
leaders.size.should be(Leaderboard::DEFAULT_PAGE_SIZE)
|
91
|
-
member_1 = {:member => 'member_1', :score => 1}
|
92
|
-
member_2 = {:member => 'member_2', :score => 2}
|
93
|
-
member_3 = {:member => 'member_3', :score => 3}
|
94
|
-
leaders[0].should
|
95
|
-
leaders[1].should
|
96
|
-
leaders[2].should
|
91
|
+
member_1 = {:member => 'member_1', :score => 1.0}
|
92
|
+
member_2 = {:member => 'member_2', :score => 2.0}
|
93
|
+
member_3 = {:member => 'member_3', :score => 3.0}
|
94
|
+
leaders[0].should eql(member_1)
|
95
|
+
leaders[1].should eql(member_2)
|
96
|
+
leaders[2].should eql(member_3)
|
97
97
|
|
98
98
|
leaders = @leaderboard.leaders(1, :with_scores => false)
|
99
99
|
leaders.size.should be(Leaderboard::DEFAULT_PAGE_SIZE)
|
100
100
|
member_1 = {:member => 'member_1', :rank => 1}
|
101
101
|
member_2 = {:member => 'member_2', :rank => 2}
|
102
|
-
leaders[0].should
|
103
|
-
leaders[1].should
|
102
|
+
leaders[0].should eql(member_1)
|
103
|
+
leaders[1].should eql(member_2)
|
104
104
|
|
105
105
|
leaders = @leaderboard.leaders(1, :with_scores => false, :with_rank => false)
|
106
106
|
leaders.size.should be(Leaderboard::DEFAULT_PAGE_SIZE)
|
107
107
|
member_1 = {:member => 'member_1'}
|
108
108
|
member_2 = {:member => 'member_2'}
|
109
|
-
leaders[0].should
|
110
|
-
leaders[1].should
|
109
|
+
leaders[0].should eql(member_1)
|
110
|
+
leaders[1].should eql(member_2)
|
111
111
|
|
112
112
|
leaders = @leaderboard.leaders(1, :with_rank => false, :page_size => 1)
|
113
113
|
leaders.size.should be(1)
|
114
|
-
member_1 = {:member => 'member_1', :score => 1}
|
115
|
-
leaders[0].should
|
114
|
+
member_1 = {:member => 'member_1', :score => 1.0}
|
115
|
+
leaders[0].should eql(member_1)
|
116
116
|
end
|
117
117
|
|
118
118
|
it 'should return a single member when calling member_at' do
|
119
119
|
rank_members_in_leaderboard(50)
|
120
|
-
@leaderboard.member_at(1)[:rank].should
|
121
|
-
@leaderboard.member_at(1)[:score].should
|
122
|
-
@leaderboard.member_at(26)[:rank].should
|
123
|
-
@leaderboard.member_at(50)[:rank].should
|
120
|
+
@leaderboard.member_at(1)[:rank].should eql(1)
|
121
|
+
@leaderboard.member_at(1)[:score].should eql(1.0)
|
122
|
+
@leaderboard.member_at(26)[:rank].should eql(26)
|
123
|
+
@leaderboard.member_at(50)[:rank].should eql(50)
|
124
124
|
@leaderboard.member_at(51).should be_nil
|
125
|
-
@leaderboard.member_at(1, :with_member_data => true)[:member_data].should
|
126
|
-
@leaderboard.member_at(1, :use_zero_index_for_rank => true)[:rank].should
|
125
|
+
@leaderboard.member_at(1, :with_member_data => true)[:member_data].should eql({'member_name' => 'Leaderboard member 1'})
|
126
|
+
@leaderboard.member_at(1, :use_zero_index_for_rank => true)[:rank].should eql(0)
|
127
127
|
end
|
128
128
|
|
129
129
|
it 'should return the correct information when calling around_me' do
|
130
130
|
rank_members_in_leaderboard(Leaderboard::DEFAULT_PAGE_SIZE * 3 + 1)
|
131
131
|
|
132
132
|
@leaderboard.total_members.should be(Leaderboard::DEFAULT_PAGE_SIZE * 3 + 1)
|
133
|
-
|
133
|
+
|
134
134
|
leaders_around_me = @leaderboard.around_me('member_30')
|
135
135
|
(leaders_around_me.size / 2).should be(@leaderboard.page_size / 2)
|
136
|
-
|
136
|
+
|
137
137
|
leaders_around_me = @leaderboard.around_me('member_76')
|
138
138
|
leaders_around_me.size.should be(@leaderboard.page_size / 2 + 1)
|
139
|
-
|
139
|
+
|
140
140
|
leaders_around_me = @leaderboard.around_me('member_1')
|
141
141
|
(leaders_around_me.size / 2).should be(@leaderboard.page_size / 2)
|
142
142
|
end
|
143
143
|
|
144
144
|
it 'should return the correct information when calling ranked_in_list' do
|
145
145
|
rank_members_in_leaderboard(Leaderboard::DEFAULT_PAGE_SIZE)
|
146
|
-
|
146
|
+
|
147
147
|
@leaderboard.total_members.should be(Leaderboard::DEFAULT_PAGE_SIZE)
|
148
|
-
|
148
|
+
|
149
149
|
members = ['member_1', 'member_5', 'member_10']
|
150
150
|
ranked_members = @leaderboard.ranked_in_list(members, Leaderboard::DEFAULT_LEADERBOARD_REQUEST_OPTIONS)
|
151
|
-
|
151
|
+
|
152
152
|
ranked_members.size.should be(3)
|
153
153
|
|
154
|
-
ranked_members[0][:rank].should
|
155
|
-
ranked_members[0][:score].should
|
154
|
+
ranked_members[0][:rank].should eql(1)
|
155
|
+
ranked_members[0][:score].should eql(1.0)
|
156
156
|
|
157
|
-
ranked_members[1][:rank].should
|
158
|
-
ranked_members[1][:score].should
|
157
|
+
ranked_members[1][:rank].should eql(5)
|
158
|
+
ranked_members[1][:score].should eql(5.0)
|
159
159
|
|
160
|
-
ranked_members[2][:rank].should
|
161
|
-
ranked_members[2][:score].should
|
160
|
+
ranked_members[2][:rank].should eql(10)
|
161
|
+
ranked_members[2][:score].should eql(10.0)
|
162
162
|
end
|
163
163
|
|
164
164
|
it 'should return the correct information when calling ranked_in_list without scores' do
|
165
165
|
rank_members_in_leaderboard(Leaderboard::DEFAULT_PAGE_SIZE)
|
166
|
-
|
166
|
+
|
167
167
|
@leaderboard.total_members.should be(Leaderboard::DEFAULT_PAGE_SIZE)
|
168
|
-
|
168
|
+
|
169
169
|
members = ['member_1', 'member_5', 'member_10']
|
170
170
|
ranked_members = @leaderboard.ranked_in_list(members, {:with_scores => false, :with_rank => true, :use_zero_index_for_rank => false})
|
171
|
-
|
171
|
+
|
172
172
|
ranked_members.size.should be(3)
|
173
173
|
|
174
174
|
ranked_members[0][:rank].should be(1)
|
@@ -180,18 +180,18 @@ describe 'Leaderboard (reverse option)' do
|
|
180
180
|
|
181
181
|
it 'should return the correct information when calling score_and_rank_for' do
|
182
182
|
rank_members_in_leaderboard
|
183
|
-
|
183
|
+
|
184
184
|
data = @leaderboard.score_and_rank_for('member_1')
|
185
|
-
data[:member].should
|
186
|
-
data[:score].should
|
185
|
+
data[:member].should eql('member_1')
|
186
|
+
data[:score].should eql(1.0)
|
187
187
|
data[:rank].should be(1)
|
188
188
|
end
|
189
189
|
|
190
190
|
it 'should allow you to remove members in a given score range' do
|
191
191
|
rank_members_in_leaderboard
|
192
|
-
|
192
|
+
|
193
193
|
@leaderboard.total_members.should be(5)
|
194
|
-
|
194
|
+
|
195
195
|
@leaderboard.rank_member('cheater_1', 100)
|
196
196
|
@leaderboard.rank_member('cheater_2', 101)
|
197
197
|
@leaderboard.rank_member('cheater_3', 102)
|
@@ -199,9 +199,9 @@ describe 'Leaderboard (reverse option)' do
|
|
199
199
|
@leaderboard.total_members.should be(8)
|
200
200
|
|
201
201
|
@leaderboard.remove_members_in_score_range(100, 102)
|
202
|
-
|
202
|
+
|
203
203
|
@leaderboard.total_members.should be(5)
|
204
|
-
|
204
|
+
|
205
205
|
leaders = @leaderboard.leaders(1)
|
206
206
|
leaders.each do |leader|
|
207
207
|
leader[:score].should be < 100
|
@@ -209,26 +209,26 @@ describe 'Leaderboard (reverse option)' do
|
|
209
209
|
end
|
210
210
|
|
211
211
|
it 'should allow you to merge leaderboards' do
|
212
|
-
foo = Leaderboard.new('foo', Leaderboard::DEFAULT_LEADERBOARD_REQUEST_OPTIONS, :host => "127.0.0.1", :db => 15)
|
212
|
+
foo = Leaderboard.new('foo', Leaderboard::DEFAULT_LEADERBOARD_REQUEST_OPTIONS, :host => "127.0.0.1", :db => 15)
|
213
213
|
bar = Leaderboard.new('bar', Leaderboard::DEFAULT_LEADERBOARD_REQUEST_OPTIONS, :host => "127.0.0.1", :db => 15)
|
214
|
-
|
214
|
+
|
215
215
|
foo.rank_member('foo_1', 1)
|
216
216
|
foo.rank_member('foo_2', 2)
|
217
217
|
bar.rank_member('bar_1', 3)
|
218
218
|
bar.rank_member('bar_2', 4)
|
219
219
|
bar.rank_member('bar_3', 5)
|
220
|
-
|
220
|
+
|
221
221
|
foobar_keys = foo.merge_leaderboards('foobar', ['bar'])
|
222
222
|
foobar_keys.should be(5)
|
223
|
-
|
224
|
-
foobar = Leaderboard.new('foobar', Leaderboard::DEFAULT_LEADERBOARD_REQUEST_OPTIONS, :host => "127.0.0.1", :db => 15)
|
223
|
+
|
224
|
+
foobar = Leaderboard.new('foobar', Leaderboard::DEFAULT_LEADERBOARD_REQUEST_OPTIONS, :host => "127.0.0.1", :db => 15)
|
225
225
|
foobar.total_members.should be(5)
|
226
|
-
|
226
|
+
|
227
227
|
first_leader_in_foobar = foobar.leaders(1).first
|
228
228
|
first_leader_in_foobar[:rank].should be(1)
|
229
|
-
first_leader_in_foobar[:member].should
|
230
|
-
first_leader_in_foobar[:score].should
|
231
|
-
|
229
|
+
first_leader_in_foobar[:member].should eql('bar_3')
|
230
|
+
first_leader_in_foobar[:score].should eql(5.0)
|
231
|
+
|
232
232
|
foo.disconnect
|
233
233
|
bar.disconnect
|
234
234
|
foobar.disconnect
|
@@ -237,25 +237,25 @@ describe 'Leaderboard (reverse option)' do
|
|
237
237
|
it 'should allow you to intersect leaderboards' do
|
238
238
|
foo = Leaderboard.new('foo', Leaderboard::DEFAULT_LEADERBOARD_REQUEST_OPTIONS, :host => "127.0.0.1", :db => 15)
|
239
239
|
bar = Leaderboard.new('bar', Leaderboard::DEFAULT_LEADERBOARD_REQUEST_OPTIONS, :host => "127.0.0.1", :db => 15)
|
240
|
-
|
240
|
+
|
241
241
|
foo.rank_member('foo_1', 1)
|
242
242
|
foo.rank_member('foo_2', 2)
|
243
243
|
foo.rank_member('bar_3', 6)
|
244
244
|
bar.rank_member('bar_1', 3)
|
245
245
|
bar.rank_member('foo_1', 4)
|
246
246
|
bar.rank_member('bar_3', 5)
|
247
|
-
|
248
|
-
foobar_keys = foo.intersect_leaderboards('foobar', ['bar'], {:aggregate => :max})
|
247
|
+
|
248
|
+
foobar_keys = foo.intersect_leaderboards('foobar', ['bar'], {:aggregate => :max})
|
249
249
|
foobar_keys.should be(2)
|
250
|
-
|
250
|
+
|
251
251
|
foobar = Leaderboard.new('foobar', Leaderboard::DEFAULT_LEADERBOARD_REQUEST_OPTIONS, :host => "127.0.0.1", :db => 15)
|
252
252
|
foobar.total_members.should be(2)
|
253
|
-
|
253
|
+
|
254
254
|
first_leader_in_foobar = foobar.leaders(1).first
|
255
255
|
first_leader_in_foobar[:rank].should be(1)
|
256
|
-
first_leader_in_foobar[:member].should
|
257
|
-
first_leader_in_foobar[:score].should
|
258
|
-
|
256
|
+
first_leader_in_foobar[:member].should eql('bar_3')
|
257
|
+
first_leader_in_foobar[:score].should eql(6.0)
|
258
|
+
|
259
259
|
foo.disconnect
|
260
260
|
bar.disconnect
|
261
261
|
foobar.disconnect
|
@@ -263,14 +263,14 @@ describe 'Leaderboard (reverse option)' do
|
|
263
263
|
|
264
264
|
it 'should respect the with_scores option in the massage_leader_data method' do
|
265
265
|
rank_members_in_leaderboard(25)
|
266
|
-
|
266
|
+
|
267
267
|
@leaderboard.total_members.should be(25)
|
268
268
|
|
269
269
|
leaders = @leaderboard.leaders(1, {:with_scores => false, :with_rank => false})
|
270
270
|
leaders[0][:member].should_not be_nil
|
271
271
|
leaders[0][:score].should be_nil
|
272
272
|
leaders[0][:rank].should be_nil
|
273
|
-
|
273
|
+
|
274
274
|
@leaderboard.page_size = 25
|
275
275
|
leaders = @leaderboard.leaders(1, {:with_scores => false, :with_rank => false})
|
276
276
|
leaders.size.should be(25)
|
@@ -280,7 +280,7 @@ describe 'Leaderboard (reverse option)' do
|
|
280
280
|
leaders[0][:member].should_not be_nil
|
281
281
|
leaders[0][:score].should_not be_nil
|
282
282
|
leaders[0][:rank].should_not be_nil
|
283
|
-
|
283
|
+
|
284
284
|
@leaderboard.page_size = 25
|
285
285
|
leaders = @leaderboard.leaders(1, Leaderboard::DEFAULT_LEADERBOARD_REQUEST_OPTIONS)
|
286
286
|
leaders.size.should be(25)
|
@@ -288,21 +288,21 @@ describe 'Leaderboard (reverse option)' do
|
|
288
288
|
|
289
289
|
it 'should return the correct number of members when calling around_me with a page_size options' do
|
290
290
|
rank_members_in_leaderboard(Leaderboard::DEFAULT_PAGE_SIZE * 3 + 1)
|
291
|
-
|
291
|
+
|
292
292
|
leaders_around_me = @leaderboard.around_me('member_30', Leaderboard::DEFAULT_LEADERBOARD_REQUEST_OPTIONS.merge({:page_size => 3}))
|
293
293
|
leaders_around_me.size.should be(3)
|
294
|
-
leaders_around_me[2][:member].should
|
295
|
-
leaders_around_me[0][:member].should
|
294
|
+
leaders_around_me[2][:member].should eql('member_31')
|
295
|
+
leaders_around_me[0][:member].should eql('member_29')
|
296
296
|
end
|
297
297
|
|
298
298
|
it 'should return the correct information when calling percentile_for' do
|
299
299
|
rank_members_in_leaderboard(12)
|
300
|
-
|
301
|
-
@leaderboard.percentile_for('member_1').should
|
302
|
-
@leaderboard.percentile_for('member_2').should
|
303
|
-
@leaderboard.percentile_for('member_3').should
|
304
|
-
@leaderboard.percentile_for('member_4').should
|
305
|
-
@leaderboard.percentile_for('member_12').should
|
300
|
+
|
301
|
+
@leaderboard.percentile_for('member_1').should eql(100)
|
302
|
+
@leaderboard.percentile_for('member_2').should eql(91)
|
303
|
+
@leaderboard.percentile_for('member_3').should eql(83)
|
304
|
+
@leaderboard.percentile_for('member_4').should eql(75)
|
305
|
+
@leaderboard.percentile_for('member_12').should eql(8)
|
306
306
|
end
|
307
307
|
|
308
308
|
it 'should return the correct page when calling page_for a given member in the leaderboard' do
|
@@ -325,13 +325,33 @@ describe 'Leaderboard (reverse option)' do
|
|
325
325
|
@leaderboard.total_members.should be(0)
|
326
326
|
@leaderboard.rank_members('member_1', 1, 'member_10', 10)
|
327
327
|
@leaderboard.total_members.should be(2)
|
328
|
-
@leaderboard.leaders(1).first[:member].should
|
328
|
+
@leaderboard.leaders(1).first[:member].should eql('member_1')
|
329
329
|
end
|
330
330
|
|
331
331
|
it 'should allow you to rank multiple members with an array' do
|
332
332
|
@leaderboard.total_members.should be(0)
|
333
333
|
@leaderboard.rank_members(['member_1', 1, 'member_10', 10])
|
334
334
|
@leaderboard.total_members.should be(2)
|
335
|
-
@leaderboard.leaders(1).first[:member].should
|
335
|
+
@leaderboard.leaders(1).first[:member].should eql('member_1')
|
336
|
+
end
|
337
|
+
|
338
|
+
it 'should allow you to retrieve a given set of members from the leaderboard in a rank range' do
|
339
|
+
rank_members_in_leaderboard(25)
|
340
|
+
|
341
|
+
members = @leaderboard.members_from_rank_range(5, 9)
|
342
|
+
members.size.should be(5)
|
343
|
+
members[0][:member].should eql('member_5')
|
344
|
+
members[0][:score].to_i.should be(5)
|
345
|
+
members[4][:member].should eql('member_9')
|
346
|
+
|
347
|
+
members = @leaderboard.members_from_rank_range(1, 1)
|
348
|
+
members.size.should be(1)
|
349
|
+
members[0][:member].should eql('member_1')
|
350
|
+
|
351
|
+
members = @leaderboard.members_from_rank_range(-1, 26)
|
352
|
+
members.size.should be(25)
|
353
|
+
members[0][:member].should eql('member_1')
|
354
|
+
members[0][:score].to_i.should be(1)
|
355
|
+
members[24][:member].should eql('member_25')
|
336
356
|
end
|
337
357
|
end
|
data/spec/version_spec.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: leaderboard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: redis
|
@@ -77,11 +77,9 @@ files:
|
|
77
77
|
- leaderboard.gemspec
|
78
78
|
- lib/leaderboard.rb
|
79
79
|
- lib/leaderboard/version.rb
|
80
|
-
- spec/db/.gitkeep
|
81
80
|
- spec/leaderboard_spec.rb
|
82
81
|
- spec/reverse_leaderboard_spec.rb
|
83
82
|
- spec/spec_helper.rb
|
84
|
-
- spec/test.conf
|
85
83
|
- spec/version_spec.rb
|
86
84
|
homepage: https://github.com/agoragames/leaderboard
|
87
85
|
licenses: []
|
@@ -97,7 +95,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
97
95
|
version: '0'
|
98
96
|
segments:
|
99
97
|
- 0
|
100
|
-
hash:
|
98
|
+
hash: 1313694139295611168
|
101
99
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
100
|
none: false
|
103
101
|
requirements:
|
@@ -106,17 +104,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
104
|
version: '0'
|
107
105
|
segments:
|
108
106
|
- 0
|
109
|
-
hash:
|
107
|
+
hash: 1313694139295611168
|
110
108
|
requirements: []
|
111
109
|
rubyforge_project: leaderboard
|
112
|
-
rubygems_version: 1.8.
|
110
|
+
rubygems_version: 1.8.24
|
113
111
|
signing_key:
|
114
112
|
specification_version: 3
|
115
113
|
summary: Leaderboards backed by Redis in Ruby
|
116
114
|
test_files:
|
117
|
-
- spec/db/.gitkeep
|
118
115
|
- spec/leaderboard_spec.rb
|
119
116
|
- spec/reverse_leaderboard_spec.rb
|
120
117
|
- spec/spec_helper.rb
|
121
|
-
- spec/test.conf
|
122
118
|
- spec/version_spec.rb
|