activity_feed 3.0.1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3562a6c0fe387c11b490f9104caa8d9faaed6573
4
+ data.tar.gz: a79a32abdc6b6c61775bf6e2d558ee79082d6913
5
+ SHA512:
6
+ metadata.gz: 6a3f69fd8e572c38feda2ccc8b999f81adaaa101ec5980121ece5b4a884d5300a0ac60120cb55f3b733b8a7fe6b5cb9bc29d643df1665e3faffde72d7c686fd4
7
+ data.tar.gz: 327fa96dc987af4c81acc0e26d2cfa01077bb999849d6075beb8dbb843af08f5c96fc541c7cd7c7ab317cc2572f85d8055d3606551391d9deb522ce6f37f0128
@@ -0,0 +1 @@
1
+ activity_feed_gem
@@ -0,0 +1 @@
1
+ 2.1.2
@@ -1,5 +1,11 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 3.1.0 (2014-06-09)
4
+
5
+ * Added `trim_to_size(user_id, size, aggregate = ActivityFeed.aggregate)`
6
+ to trim activity feed to a certain number of items.
7
+ * `trim_to(...)` is an alias for `trim_to_size(...)`
8
+
3
9
  ## 3.0.1 (2013-07-17)
4
10
 
5
11
  More useful aliases:
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011-2013 David Czarnecki
1
+ Copyright (c) 2011-2104 David Czarnecki
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -309,6 +309,8 @@ ActivityFeed.total_items(user_id, aggregate = ActivityFeed.aggregate)
309
309
 
310
310
  ActivityFeed.trim_feed(user_id, starting_timestamp, ending_timestamp, aggregate = ActivityFeed.aggregate)
311
311
  ActivityFeed.trim(user_id, starting_timestamp, ending_timestamp, aggregate = ActivityFeed.aggregate)
312
+ ActivityFeed.trim_to_size(user_id, size, aggregate = ActivityFeed.aggregate)
313
+ ActivityFeed.trim_to_(user_id, size, aggregate = ActivityFeed.aggregate)
312
314
 
313
315
  ActivityFeed.expire_feed(user_id, seconds, aggregate = ActivityFeed.aggregate)
314
316
  ActivityFeed.expire_feed_in(user_id, seconds, aggregate = ActivityFeed.aggregate)
@@ -332,4 +334,4 @@ ActivityFeed.remove_feeds(user_id)
332
334
 
333
335
  ## Copyright
334
336
 
335
- Copyright (c) 2011-2013 David Czarnecki. See LICENSE.txt for further details.
337
+ Copyright (c) 2011-2104 David Czarnecki. See LICENSE.txt for further details.
data/Rakefile CHANGED
@@ -11,8 +11,3 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
11
11
  end
12
12
 
13
13
  task :default => :spec
14
-
15
- desc "Run the specs against Ruby 1.8.7 and 1.9.3"
16
- task :test_rubies do
17
- system "rvm ruby-1.8.7@activity_feed_gem,ruby-1.9.3@activity_feed_gem do rake spec"
18
- end
@@ -100,6 +100,17 @@ module ActivityFeed
100
100
 
101
101
  alias_method :trim, :trim_feed
102
102
 
103
+ # Trim an activity feed to a given size.
104
+ #
105
+ # @param user_id [String] User ID.
106
+ # @param size [int] Number of items to keep in the activity feed.
107
+ # @param aggregate [boolean, false] Whether or not to trim the aggregate activity feed or not.
108
+ def trim_to_size(user_id, size, aggregate = ActivityFeed.aggregate)
109
+ ActivityFeed.feederboard_for(user_id, aggregate).remove_members_outside_rank(size)
110
+ end
111
+
112
+ alias_method :trim_to, :trim_to_size
113
+
103
114
  # Expire an activity feed after a set number of seconds.
104
115
  #
105
116
  # @param user_id [String] User ID.
@@ -1,3 +1,3 @@
1
1
  module ActivityFeed
2
- VERSION = '3.0.1'
2
+ VERSION = '3.1.0'
3
3
  end
@@ -245,6 +245,28 @@ describe ActivityFeed::Feed do
245
245
  end
246
246
  end
247
247
 
248
+ describe '#trim_to_size' do
249
+ describe 'without aggregation' do
250
+ it 'should allow you to trim activity feed items to a given size' do
251
+ add_items_to_feed('david')
252
+
253
+ ActivityFeed.total_items('david').should eql(5)
254
+ ActivityFeed.trim_to_size('david', 3)
255
+ ActivityFeed.total_items('david').should eql(3)
256
+ end
257
+ end
258
+
259
+ describe 'with aggregation' do
260
+ it 'should allow you to trim activity feed items to a given size' do
261
+ add_items_to_feed('david', 5, true)
262
+
263
+ ActivityFeed.total_items('david', true).should eql(5)
264
+ ActivityFeed.trim_to_size('david', 3, true)
265
+ ActivityFeed.total_items('david', true).should eql(3)
266
+ end
267
+ end
268
+ end
269
+
248
270
  describe 'ORM or ODM loading' do
249
271
  describe 'ActiveRecord' do
250
272
  it 'should be able to load an item via ActiveRecord when requesting a feed' do
@@ -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.1'
5
+ ActivityFeed::VERSION.should == '3.1.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,174 +1,153 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activity_feed
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
5
- prerelease:
4
+ version: 3.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - David Czarnecki
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-07-17 00:00:00.000000000 Z
11
+ date: 2014-06-09 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rake
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: activesupport
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: timecop
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - ">="
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - ">="
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: mongoid
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - ">="
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - ">="
92
81
  - !ruby/object:Gem::Version
93
82
  version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: bson_ext
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - ">="
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - ">="
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: activerecord
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - ">="
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - ">="
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: sqlite3
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - ">="
132
116
  - !ruby/object:Gem::Version
133
117
  version: '0'
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ! '>='
122
+ - - ">="
140
123
  - !ruby/object:Gem::Version
141
124
  version: '0'
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: database_cleaner
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
- - - ! '>='
129
+ - - ">="
148
130
  - !ruby/object:Gem::Version
149
131
  version: '0'
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
- - - ! '>='
136
+ - - ">="
156
137
  - !ruby/object:Gem::Version
157
138
  version: '0'
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: leaderboard
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
- - - ! '>='
143
+ - - ">="
164
144
  - !ruby/object:Gem::Version
165
145
  version: '0'
166
146
  type: :runtime
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
- - - ! '>='
150
+ - - ">="
172
151
  - !ruby/object:Gem::Version
173
152
  version: '0'
174
153
  description: Activity feeds backed by Redis
@@ -178,9 +157,10 @@ executables: []
178
157
  extensions: []
179
158
  extra_rdoc_files: []
180
159
  files:
181
- - .gitignore
182
- - .rspec
183
- - .rvmrc
160
+ - ".gitignore"
161
+ - ".rspec"
162
+ - ".ruby-gemset"
163
+ - ".ruby-version"
184
164
  - CHANGELOG.markdown
185
165
  - Gemfile
186
166
  - LICENSE.txt
@@ -205,33 +185,26 @@ files:
205
185
  homepage: https://github.com/agoragames/activity_feed
206
186
  licenses:
207
187
  - MIT
188
+ metadata: {}
208
189
  post_install_message:
209
190
  rdoc_options: []
210
191
  require_paths:
211
192
  - lib
212
193
  required_ruby_version: !ruby/object:Gem::Requirement
213
- none: false
214
194
  requirements:
215
- - - ! '>='
195
+ - - ">="
216
196
  - !ruby/object:Gem::Version
217
197
  version: '0'
218
- segments:
219
- - 0
220
- hash: -3957721059363882018
221
198
  required_rubygems_version: !ruby/object:Gem::Requirement
222
- none: false
223
199
  requirements:
224
- - - ! '>='
200
+ - - ">="
225
201
  - !ruby/object:Gem::Version
226
202
  version: '0'
227
- segments:
228
- - 0
229
- hash: -3957721059363882018
230
203
  requirements: []
231
204
  rubyforge_project: activity_feed
232
- rubygems_version: 1.8.25
205
+ rubygems_version: 2.2.2
233
206
  signing_key:
234
- specification_version: 3
207
+ specification_version: 4
235
208
  summary: Activity feeds backed by Redis
236
209
  test_files:
237
210
  - spec/activity_feed/configuration_spec.rb
data/.rvmrc DELETED
@@ -1,2 +0,0 @@
1
- rvm use ruby-1.8.7@activity_feed_gem --create
2
- rvm use ruby-1.9.3@activity_feed_gem --create