activity_feed 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.markdown CHANGED
@@ -1,5 +1,15 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 3.0.1 (2013-07-17)
4
+
5
+ More useful aliases:
6
+
7
+ * `ActivityFeed.for` as an alias for `ActivityFeed.feed`
8
+ * `ActivityFeed.between` as an alias for `ActivityFeed.feed_between_timestamps`
9
+ * `ActivityFeed.trim` as an alias for `ActivityFeed.trim_feed`
10
+ * `ActivityFeed.expire_in` and `ActivityFeed.expire_feed_in` as aliases for `ActivityFeed.expire_feed`
11
+ * `ActivityFeed.expire_at` as an alias for `ActivityFeed.expire_feed_at`
12
+
3
13
  ## 3.0.0 (2013-07-12)
4
14
 
5
15
  * Allow for bulk-loading of feed items. The `ActivityFeed.item_loader`
data/README.markdown CHANGED
@@ -286,7 +286,6 @@ feeds in which that activity feed item may have been aggregated.
286
286
 
287
287
  ActivityFeed.update_item(user_id, item_id, timestamp, aggregate = ActivityFeed.aggregate)
288
288
  ActivityFeed.add_item(user_id, item_id, timestamp, aggregate = ActivityFeed.aggregate)
289
- # add_item is an alias for update_item
290
289
 
291
290
  ActivityFeed.aggregate_item(user_id, item_id, timestamp)
292
291
  ActivityFeed.remove_item(user_id, item_id)
@@ -295,16 +294,29 @@ ActivityFeed.check_item?(user_id, item_id, aggregate = ActivityFeed.aggregate)
295
294
  # Feed-related
296
295
 
297
296
  ActivityFeed.feed(user_id, page, aggregate = ActivityFeed.aggregate)
297
+ ActivityFeed.for(user_id, page, aggregate = ActivityFeed.aggregate)
298
+
298
299
  ActivityFeed.full_feed(user_id, aggregate = ActivityFeed.aggregate)
300
+
299
301
  ActivityFeed.feed_between_timestamps(user_id, starting_timestamp, ending_timestamp, aggregate = ActivityFeed.aggregate)
302
+ ActivityFeed.between(user_id, starting_timestamp, ending_timestamp, aggregate = ActivityFeed.aggregate)
303
+
300
304
  ActivityFeed.total_pages_in_feed(user_id, aggregate = ActivityFeed.aggregate, page_size = ActivityFeed.page_size)
301
305
  ActivityFeed.total_pages(user_id, aggregate = ActivityFeed.aggregate, page_size = ActivityFeed.page_size)
306
+
302
307
  ActivityFeed.total_items_in_feed(user_id, aggregate = ActivityFeed.aggregate)
303
308
  ActivityFeed.total_items(user_id, aggregate = ActivityFeed.aggregate)
309
+
304
310
  ActivityFeed.trim_feed(user_id, starting_timestamp, ending_timestamp, aggregate = ActivityFeed.aggregate)
311
+ ActivityFeed.trim(user_id, starting_timestamp, ending_timestamp, aggregate = ActivityFeed.aggregate)
312
+
305
313
  ActivityFeed.expire_feed(user_id, seconds, aggregate = ActivityFeed.aggregate)
306
314
  ActivityFeed.expire_feed_in(user_id, seconds, aggregate = ActivityFeed.aggregate)
315
+ ActivityFeed.expire_in(user_id, seconds, aggregate = ActivityFeed.aggregate)
316
+
307
317
  ActivityFeed.expire_feed_at(user_id, timestamp, aggregate = ActivityFeed.aggregate)
318
+ ActivityFeed.expire_at(user_id, timestamp, aggregate = ActivityFeed.aggregate)
319
+
308
320
  ActivityFeed.remove_feeds(user_id)
309
321
  ```
310
322
 
@@ -10,15 +10,15 @@ Gem::Specification.new do |s|
10
10
  s.homepage = 'https://github.com/agoragames/activity_feed'
11
11
  s.summary = %q{Activity feeds backed by Redis}
12
12
  s.description = %q{Activity feeds backed by Redis}
13
+ s.license = 'MIT'
13
14
 
14
15
  s.rubyforge_project = 'activity_feed'
15
16
 
16
17
  s.files = `git ls-files`.split("\n")
17
18
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
-
20
20
  s.require_paths = ['lib']
21
-
21
+
22
22
  s.add_development_dependency('rake')
23
23
  s.add_development_dependency('rspec')
24
24
  s.add_development_dependency('activesupport')
@@ -29,12 +29,12 @@ Gem::Specification.new do |s|
29
29
 
30
30
  s.add_development_dependency('activerecord')
31
31
  s.add_development_dependency('sqlite3')
32
-
32
+
33
33
  s.add_development_dependency('database_cleaner')
34
34
 
35
35
  if '1.8.7'.eql?(RUBY_VERSION)
36
36
  s.add_development_dependency('SystemTimer')
37
37
  end
38
-
38
+
39
39
  s.add_dependency('leaderboard')
40
40
  end
@@ -16,6 +16,8 @@ module ActivityFeed
16
16
  load_feed_items(feed_items)
17
17
  end
18
18
 
19
+ alias_method :for, :feed
20
+
19
21
  # Retrieve the entire activity feed for a given +user_id+. You can configure
20
22
  # +ActivityFeed.items_loader+ with a Proc to retrieve items from, for example,
21
23
  # your ORM (e.g. ActiveRecord) or your ODM (e.g. Mongoid), and have the page
@@ -49,6 +51,8 @@ module ActivityFeed
49
51
  load_feed_items(feed_items)
50
52
  end
51
53
 
54
+ alias_method :between, :feed_between_timestamps
55
+
52
56
  # Return the total number of pages in the activity feed.
53
57
  #
54
58
  # @param user_id [String] User ID.
@@ -94,6 +98,8 @@ module ActivityFeed
94
98
  ActivityFeed.feederboard_for(user_id, aggregate).remove_members_in_score_range(starting_timestamp, ending_timestamp)
95
99
  end
96
100
 
101
+ alias_method :trim, :trim_feed
102
+
97
103
  # Expire an activity feed after a set number of seconds.
98
104
  #
99
105
  # @param user_id [String] User ID.
@@ -103,6 +109,7 @@ module ActivityFeed
103
109
  ActivityFeed.redis.expire(ActivityFeed.feed_key(user_id, aggregate), seconds)
104
110
  end
105
111
 
112
+ alias_method :expire_in, :expire_feed
106
113
  alias_method :expire_feed_in, :expire_feed
107
114
 
108
115
  # Expire an activity feed at a given timestamp.
@@ -114,6 +121,8 @@ module ActivityFeed
114
121
  ActivityFeed.redis.expireat(ActivityFeed.feed_key(user_id, aggregate), timestamp)
115
122
  end
116
123
 
124
+ alias_method :expire_at, :expire_feed_at
125
+
117
126
  private
118
127
 
119
128
  # Load feed items from the `ActivityFeed.items_loader` if available,
@@ -1,3 +1,3 @@
1
1
  module ActivityFeed
2
- VERSION = '3.0.0'
2
+ VERSION = '3.0.1'
3
3
  end
@@ -1,20 +1,28 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe ActivityFeed::Feed do
4
- describe '#feed' do
4
+ describe '#feed and #for' do
5
5
  describe 'without aggregation' do
6
6
  it 'should return an activity feed with the items correctly ordered' do
7
+ feed = ActivityFeed.feed('david', 1)
8
+ feed.length.should eql(0)
9
+
7
10
  add_items_to_feed('david')
8
11
 
9
- feed = ActivityFeed.feed('david', 1)
10
- feed.length.should eql(5)
11
- feed[0].to_i.should eql(5)
12
- feed[4].to_i.should eql(1)
12
+ [:feed, :for].each do |method|
13
+ feed = ActivityFeed.send(method, 'david', 1)
14
+ feed.length.should eql(5)
15
+ feed[0].to_i.should eql(5)
16
+ feed[4].to_i.should eql(1)
17
+ end
13
18
  end
14
19
  end
15
20
 
16
21
  describe 'with aggregation' do
17
22
  it 'should return an aggregate activity feed with the items correctly ordered' do
23
+ feed = ActivityFeed.feed('david', 1, true)
24
+ feed.length.should eql(0)
25
+
18
26
  add_items_to_feed('david', 5, true)
19
27
 
20
28
  feed = ActivityFeed.feed('david', 1, true)
@@ -28,6 +36,9 @@ describe ActivityFeed::Feed do
28
36
  describe '#full_feed' do
29
37
  describe 'without aggregation' do
30
38
  it 'should return the full activity feed' do
39
+ feed = ActivityFeed.full_feed('david', false)
40
+ feed.length.should eql(0)
41
+
31
42
  add_items_to_feed('david', 30)
32
43
 
33
44
  feed = ActivityFeed.full_feed('david', false)
@@ -39,6 +50,9 @@ describe ActivityFeed::Feed do
39
50
 
40
51
  describe 'with aggregation' do
41
52
  it 'should return the full activity feed' do
53
+ feed = ActivityFeed.full_feed('david', true)
54
+ feed.length.should eql(0)
55
+
42
56
  add_items_to_feed('david', 30, true)
43
57
 
44
58
  feed = ActivityFeed.full_feed('david', true)
@@ -49,9 +63,12 @@ describe ActivityFeed::Feed do
49
63
  end
50
64
  end
51
65
 
52
- describe '#feed_between_timestamps' do
66
+ describe '#feed_between_timestamps and #between' do
53
67
  describe 'without aggregation' do
54
68
  it 'should return activity feed items between the starting and ending timestamps' do
69
+ feed = ActivityFeed.feed_between_timestamps('david', Time.local(2012, 6, 19, 4, 43, 0).to_i, Time.local(2012, 6, 19, 8, 16, 0).to_i, false)
70
+ feed.length.should eql(0)
71
+
55
72
  Timecop.travel(Time.local(2012, 6, 19, 4, 0, 0))
56
73
  ActivityFeed.update_item('david', 1, Time.now.to_i)
57
74
  Timecop.travel(Time.local(2012, 6, 19, 4, 30, 0))
@@ -64,15 +81,20 @@ describe ActivityFeed::Feed do
64
81
  ActivityFeed.update_item('david', 5, Time.now.to_i)
65
82
  Timecop.return
66
83
 
67
- feed = ActivityFeed.feed_between_timestamps('david', Time.local(2012, 6, 19, 4, 43, 0).to_i, Time.local(2012, 6, 19, 8, 16, 0).to_i)
68
- feed.length.should eql(2)
69
- feed[0].to_i.should eql(4)
70
- feed[1].to_i.should eql(3)
84
+ [:feed_between_timestamps, :between].each do |method|
85
+ feed = ActivityFeed.send(method, 'david', Time.local(2012, 6, 19, 4, 43, 0).to_i, Time.local(2012, 6, 19, 8, 16, 0).to_i, false)
86
+ feed.length.should eql(2)
87
+ feed[0].to_i.should eql(4)
88
+ feed[1].to_i.should eql(3)
89
+ end
71
90
  end
72
91
  end
73
92
 
74
93
  describe 'with aggregation' do
75
94
  it 'should return activity feed items between the starting and ending timestamps' do
95
+ feed = ActivityFeed.feed_between_timestamps('david', Time.local(2012, 6, 19, 4, 43, 0).to_i, Time.local(2012, 6, 19, 8, 16, 0).to_i, true)
96
+ feed.length.should eql(0)
97
+
76
98
  Timecop.travel(Time.local(2012, 6, 19, 4, 0, 0))
77
99
  ActivityFeed.update_item('david', 1, Time.now.to_i, true)
78
100
  Timecop.travel(Time.local(2012, 6, 19, 4, 30, 0))
@@ -85,10 +107,12 @@ describe ActivityFeed::Feed do
85
107
  ActivityFeed.update_item('david', 5, Time.now.to_i, true)
86
108
  Timecop.return
87
109
 
88
- feed = ActivityFeed.feed_between_timestamps('david', Time.local(2012, 6, 19, 4, 43, 0).to_i, Time.local(2012, 6, 19, 8, 16, 0).to_i, true)
89
- feed.length.should eql(2)
90
- feed[0].to_i.should eql(4)
91
- feed[1].to_i.should eql(3)
110
+ [:feed_between_timestamps, :between].each do |method|
111
+ feed = ActivityFeed.send(method, 'david', Time.local(2012, 6, 19, 4, 43, 0).to_i, Time.local(2012, 6, 19, 8, 16, 0).to_i, true)
112
+ feed.length.should eql(2)
113
+ feed[0].to_i.should eql(4)
114
+ feed[1].to_i.should eql(3)
115
+ end
92
116
  end
93
117
  end
94
118
  end
@@ -96,6 +120,9 @@ describe ActivityFeed::Feed do
96
120
  describe '#total_pages_in_feed and #total_pages' do
97
121
  describe 'without aggregation' do
98
122
  it 'should return the correct number of pages in the activity feed' do
123
+ ActivityFeed.total_pages_in_feed('david').should eql(0)
124
+ ActivityFeed.total_pages('david').should eql(0)
125
+
99
126
  add_items_to_feed('david', Leaderboard::DEFAULT_PAGE_SIZE + 1)
100
127
 
101
128
  ActivityFeed.total_pages_in_feed('david').should eql(2)
@@ -105,6 +132,9 @@ describe ActivityFeed::Feed do
105
132
 
106
133
  describe 'with aggregation' do
107
134
  it 'should return the correct number of pages in the aggregate activity feed' do
135
+ ActivityFeed.total_pages_in_feed('david', true).should eql(0)
136
+ ActivityFeed.total_pages('david', true).should eql(0)
137
+
108
138
  add_items_to_feed('david', Leaderboard::DEFAULT_PAGE_SIZE + 1, true)
109
139
 
110
140
  ActivityFeed.total_pages_in_feed('david', true).should eql(2)
@@ -114,6 +144,9 @@ describe ActivityFeed::Feed do
114
144
 
115
145
  describe 'changing page_size parameter' do
116
146
  it 'should return the correct number of pages in the activity feed' do
147
+ ActivityFeed.total_pages_in_feed('david', false, 4).should eql(0)
148
+ ActivityFeed.total_pages('david', false, 4).should eql(0)
149
+
117
150
  add_items_to_feed('david', 25)
118
151
 
119
152
  ActivityFeed.total_pages_in_feed('david', false, 4).should eql(7)
@@ -122,7 +155,7 @@ describe ActivityFeed::Feed do
122
155
  end
123
156
  end
124
157
 
125
- describe '#remove_feeds' do
158
+ describe '#remove_feeds and #remove' do
126
159
  it 'should remove the activity feeds for a given user ID' do
127
160
  add_items_to_feed('david', Leaderboard::DEFAULT_PAGE_SIZE + 1, true)
128
161
 
@@ -139,6 +172,9 @@ describe ActivityFeed::Feed do
139
172
  describe '#total_items_in_feed and #total_items' do
140
173
  describe 'without aggregation' do
141
174
  it 'should return the correct number of items in the activity feed' do
175
+ ActivityFeed.total_items_in_feed('david').should eql(0)
176
+ ActivityFeed.total_items('david').should eql(0)
177
+
142
178
  add_items_to_feed('david', Leaderboard::DEFAULT_PAGE_SIZE + 1)
143
179
 
144
180
  ActivityFeed.total_items_in_feed('david').should eql(Leaderboard::DEFAULT_PAGE_SIZE + 1)
@@ -148,6 +184,9 @@ describe ActivityFeed::Feed do
148
184
 
149
185
  describe 'with aggregation' do
150
186
  it 'should return the correct number of items in the aggregate activity feed' do
187
+ ActivityFeed.total_items_in_feed('david', true).should eql(0)
188
+ ActivityFeed.total_items('david', true).should eql(0)
189
+
151
190
  add_items_to_feed('david', Leaderboard::DEFAULT_PAGE_SIZE + 1, true)
152
191
 
153
192
  ActivityFeed.total_items_in_feed('david', true).should eql(Leaderboard::DEFAULT_PAGE_SIZE + 1)
@@ -159,45 +198,49 @@ describe ActivityFeed::Feed do
159
198
  describe '#trim_feed' do
160
199
  describe 'without aggregation' do
161
200
  it 'should trim activity feed items between the starting and ending timestamps' do
162
- Timecop.travel(Time.local(2012, 6, 19, 4, 0, 0))
163
- ActivityFeed.update_item('david', 1, Time.now.to_i)
164
- Timecop.travel(Time.local(2012, 6, 19, 4, 30, 0))
165
- ActivityFeed.update_item('david', 2, Time.now.to_i)
166
- Timecop.travel(Time.local(2012, 6, 19, 5, 30, 0))
167
- ActivityFeed.update_item('david', 3, Time.now.to_i)
168
- Timecop.travel(Time.local(2012, 6, 19, 6, 37, 0))
169
- ActivityFeed.update_item('david', 4, Time.now.to_i)
170
- Timecop.travel(Time.local(2012, 6, 19, 8, 17, 0))
171
- ActivityFeed.update_item('david', 5, Time.now.to_i)
172
- Timecop.return
173
-
174
- ActivityFeed.trim_feed('david', Time.local(2012, 6, 19, 4, 29, 0).to_i, Time.local(2012, 6, 19, 8, 16, 0).to_i)
175
- feed = ActivityFeed.feed('david', 1)
176
- feed.length.should eql(2)
177
- feed[0].to_i.should eql(5)
178
- feed[1].to_i.should eql(1)
201
+ [:trim_feed, :trim].each do |method|
202
+ Timecop.travel(Time.local(2012, 6, 19, 4, 0, 0))
203
+ ActivityFeed.update_item('david', 1, Time.now.to_i)
204
+ Timecop.travel(Time.local(2012, 6, 19, 4, 30, 0))
205
+ ActivityFeed.update_item('david', 2, Time.now.to_i)
206
+ Timecop.travel(Time.local(2012, 6, 19, 5, 30, 0))
207
+ ActivityFeed.update_item('david', 3, Time.now.to_i)
208
+ Timecop.travel(Time.local(2012, 6, 19, 6, 37, 0))
209
+ ActivityFeed.update_item('david', 4, Time.now.to_i)
210
+ Timecop.travel(Time.local(2012, 6, 19, 8, 17, 0))
211
+ ActivityFeed.update_item('david', 5, Time.now.to_i)
212
+ Timecop.return
213
+
214
+ ActivityFeed.send(method, 'david', Time.local(2012, 6, 19, 4, 29, 0).to_i, Time.local(2012, 6, 19, 8, 16, 0).to_i)
215
+ feed = ActivityFeed.feed('david', 1)
216
+ feed.length.should eql(2)
217
+ feed[0].to_i.should eql(5)
218
+ feed[1].to_i.should eql(1)
219
+ end
179
220
  end
180
221
  end
181
222
 
182
223
  describe 'with aggregation' do
183
224
  it 'should trim activity feed items between the starting and ending timestamps' do
184
- Timecop.travel(Time.local(2012, 6, 19, 4, 0, 0))
185
- ActivityFeed.update_item('david', 1, Time.now.to_i, true)
186
- Timecop.travel(Time.local(2012, 6, 19, 4, 30, 0))
187
- ActivityFeed.update_item('david', 2, Time.now.to_i, true)
188
- Timecop.travel(Time.local(2012, 6, 19, 5, 30, 0))
189
- ActivityFeed.update_item('david', 3, Time.now.to_i, true)
190
- Timecop.travel(Time.local(2012, 6, 19, 6, 37, 0))
191
- ActivityFeed.update_item('david', 4, Time.now.to_i, true)
192
- Timecop.travel(Time.local(2012, 6, 19, 8, 17, 0))
193
- ActivityFeed.update_item('david', 5, Time.now.to_i, true)
194
- Timecop.return
195
-
196
- ActivityFeed.trim_feed('david', Time.local(2012, 6, 19, 4, 29, 0).to_i, Time.local(2012, 6, 19, 8, 16, 0).to_i, true)
197
- feed = ActivityFeed.feed('david', 1, true)
198
- feed.length.should eql(2)
199
- feed[0].to_i.should eql(5)
200
- feed[1].to_i.should eql(1)
225
+ [:trim_feed, :trim].each do |method|
226
+ Timecop.travel(Time.local(2012, 6, 19, 4, 0, 0))
227
+ ActivityFeed.update_item('david', 1, Time.now.to_i, true)
228
+ Timecop.travel(Time.local(2012, 6, 19, 4, 30, 0))
229
+ ActivityFeed.update_item('david', 2, Time.now.to_i, true)
230
+ Timecop.travel(Time.local(2012, 6, 19, 5, 30, 0))
231
+ ActivityFeed.update_item('david', 3, Time.now.to_i, true)
232
+ Timecop.travel(Time.local(2012, 6, 19, 6, 37, 0))
233
+ ActivityFeed.update_item('david', 4, Time.now.to_i, true)
234
+ Timecop.travel(Time.local(2012, 6, 19, 8, 17, 0))
235
+ ActivityFeed.update_item('david', 5, Time.now.to_i, true)
236
+ Timecop.return
237
+
238
+ ActivityFeed.send(method, 'david', Time.local(2012, 6, 19, 4, 29, 0).to_i, Time.local(2012, 6, 19, 8, 16, 0).to_i, true)
239
+ feed = ActivityFeed.feed('david', 1, true)
240
+ feed.length.should eql(2)
241
+ feed[0].to_i.should eql(5)
242
+ feed[1].to_i.should eql(1)
243
+ end
201
244
  end
202
245
  end
203
246
  end
@@ -251,7 +294,7 @@ describe ActivityFeed::Feed do
251
294
  end
252
295
  end
253
296
 
254
- describe '#expire_feed and #expire_feed_in' do
297
+ describe '#expire_feed, #expire_in and #expire_feed_in' do
255
298
  it 'should set an expiration on an activity feed using #expire_feed' do
256
299
  add_items_to_feed('david', Leaderboard::DEFAULT_PAGE_SIZE)
257
300
 
@@ -262,6 +305,16 @@ describe ActivityFeed::Feed do
262
305
  end
263
306
  end
264
307
 
308
+ it 'should set an expiration on an activity feed using #expire_in' do
309
+ add_items_to_feed('david', Leaderboard::DEFAULT_PAGE_SIZE)
310
+
311
+ ActivityFeed.expire_in('david', 10)
312
+ ActivityFeed.redis.ttl(ActivityFeed.feed_key('david')).tap do |ttl|
313
+ ttl.should be > 1
314
+ ttl.should be <= 10
315
+ end
316
+ end
317
+
265
318
  it 'should set an expiration on an activity feed using #expire_feed_in' do
266
319
  add_items_to_feed('david', Leaderboard::DEFAULT_PAGE_SIZE)
267
320
 
@@ -273,8 +326,8 @@ describe ActivityFeed::Feed do
273
326
  end
274
327
  end
275
328
 
276
- describe '#expire_feed_at' do
277
- it 'should set an expiration timestamp on an activity feed' do
329
+ describe '#expire_feed_at and #expire_at' do
330
+ it 'should set an expiration timestamp on an activity feed using #expire_feed' do
278
331
  add_items_to_feed('david', Leaderboard::DEFAULT_PAGE_SIZE)
279
332
 
280
333
  ActivityFeed.expire_feed_at('david', (Time.now + 10).to_i)
@@ -283,5 +336,15 @@ describe ActivityFeed::Feed do
283
336
  ttl.should be <= 10
284
337
  end
285
338
  end
339
+
340
+ it 'should set an expiration timestamp on an activity feed using #expire_at' do
341
+ add_items_to_feed('david', Leaderboard::DEFAULT_PAGE_SIZE)
342
+
343
+ ActivityFeed.expire_at('david', (Time.now + 10).to_i)
344
+ ActivityFeed.redis.ttl(ActivityFeed.feed_key('david')).tap do |ttl|
345
+ ttl.should be > 1
346
+ ttl.should be <= 10
347
+ end
348
+ end
286
349
  end
287
350
  end
data/spec/version_spec.rb CHANGED
@@ -2,6 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  describe 'ActivityFeed::VERSION' do
4
4
  it 'should be the correct version' do
5
- ActivityFeed::VERSION.should == '3.0.0'
5
+ ActivityFeed::VERSION.should == '3.0.1'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activity_feed
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
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: 2013-07-12 00:00:00.000000000 Z
12
+ date: 2013-07-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -203,7 +203,8 @@ files:
203
203
  - spec/support/mongoid.yml
204
204
  - spec/version_spec.rb
205
205
  homepage: https://github.com/agoragames/activity_feed
206
- licenses: []
206
+ licenses:
207
+ - MIT
207
208
  post_install_message:
208
209
  rdoc_options: []
209
210
  require_paths:
@@ -216,7 +217,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
216
217
  version: '0'
217
218
  segments:
218
219
  - 0
219
- hash: 3361752817333604694
220
+ hash: -3957721059363882018
220
221
  required_rubygems_version: !ruby/object:Gem::Requirement
221
222
  none: false
222
223
  requirements:
@@ -225,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
226
  version: '0'
226
227
  segments:
227
228
  - 0
228
- hash: 3361752817333604694
229
+ hash: -3957721059363882018
229
230
  requirements: []
230
231
  rubyforge_project: activity_feed
231
232
  rubygems_version: 1.8.25