activity_feed 1.2 → 1.2.1
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.
- data/.rvmrc +1 -1
- data/CHANGELOG.markdown +5 -0
- data/README.markdown +13 -1
- data/lib/activity_feed/ohm/item.rb +13 -0
- data/lib/activity_feed/version.rb +1 -1
- data/lib/activity_feed.rb +4 -0
- data/spec/activity_feed_spec.rb +12 -0
- data/spec/item_spec.rb +7 -0
- data/spec/version_spec.rb +1 -1
- metadata +137 -144
data/.rvmrc
CHANGED
@@ -1 +1 @@
|
|
1
|
-
rvm use ruby-1.9.
|
1
|
+
rvm use ruby-1.9.3-p0@activity_feed_gem --create
|
data/CHANGELOG.markdown
CHANGED
data/README.markdown
CHANGED
@@ -4,7 +4,7 @@ Activity feeds backed by Redis
|
|
4
4
|
|
5
5
|
## Compatibility
|
6
6
|
|
7
|
-
The gem has been built and tested under Ruby 1.9.2-p290
|
7
|
+
The gem has been built and tested under Ruby 1.9.2-p290 and Ruby 1.9.3-p0
|
8
8
|
|
9
9
|
## Installation
|
10
10
|
|
@@ -220,6 +220,18 @@ Consult the specs to see this working if you have questions.
|
|
220
220
|
|
221
221
|
### Feeds and Aggregation Feeds
|
222
222
|
|
223
|
+
You can access an activity feed in a couple of ways.
|
224
|
+
|
225
|
+
```ruby
|
226
|
+
ActivityFeed.feed(user_id) # return an instance of ActivityFeed::Feed
|
227
|
+
```
|
228
|
+
|
229
|
+
or
|
230
|
+
|
231
|
+
```ruby
|
232
|
+
ActivityFeed::Feed.new(user_id)
|
233
|
+
```
|
234
|
+
|
223
235
|
activity_feed uses the following key in adding the item to Redis: `ActivityFeed.namespace:ActivityFeed.key:self.user_id`. By default, activity_feed in the `create_item` call will
|
224
236
|
also add the item in Redis to an aggregate feed using the key: `ActivityFeed.namespace:ActivityFeed.key:ActivityFeed.aggregate_key:self.user_id`.
|
225
237
|
|
@@ -18,6 +18,19 @@ module ActivityFeed
|
|
18
18
|
|
19
19
|
after :save, :update_redis
|
20
20
|
|
21
|
+
def to_hash
|
22
|
+
super.merge(
|
23
|
+
:user_id => user_id,
|
24
|
+
:nickname => nickname,
|
25
|
+
:type => type,
|
26
|
+
:title => title,
|
27
|
+
:text => text,
|
28
|
+
:url => url,
|
29
|
+
:icon => icon,
|
30
|
+
:sticky => sticky
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
21
34
|
private
|
22
35
|
|
23
36
|
def update_redis
|
data/lib/activity_feed.rb
CHANGED
data/spec/activity_feed_spec.rb
CHANGED
@@ -133,4 +133,16 @@ describe ActivityFeed do
|
|
133
133
|
loaded_item.should == JSON.parse(item.to_json)
|
134
134
|
end
|
135
135
|
end
|
136
|
+
|
137
|
+
describe 'feed' do
|
138
|
+
it 'should allow you to create a new ActivityFeed::Feed instance' do
|
139
|
+
user_id = 1
|
140
|
+
ActivityFeed.persistence = :ohm
|
141
|
+
|
142
|
+
item = ActivityFeed.create_item(:user_id => user_id, :text => 'This is text for my activity feed')
|
143
|
+
feed = ActivityFeed.feed(user_id)
|
144
|
+
|
145
|
+
feed.total_items.should be(1)
|
146
|
+
end
|
147
|
+
end
|
136
148
|
end
|
data/spec/item_spec.rb
CHANGED
@@ -45,4 +45,11 @@ describe 'ActivityFeed::Item' do
|
|
45
45
|
ActivityFeed.aggregate_item(item)
|
46
46
|
ActivityFeed.redis.zcard(ActivityFeed.feed_key(item.user_id, true)).should be(1)
|
47
47
|
end
|
48
|
+
|
49
|
+
it 'should output all the attributes for an item for Ohm' do
|
50
|
+
item = Fabricate.build(ActivityFeed::Ohm::Item)
|
51
|
+
|
52
|
+
hash = JSON.parse(JSON.generate(item))
|
53
|
+
hash.keys.size.should be(8)
|
54
|
+
end
|
48
55
|
end
|
data/spec/version_spec.rb
CHANGED
metadata
CHANGED
@@ -1,203 +1,199 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: activity_feed
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.2.1
|
4
5
|
prerelease:
|
5
|
-
version: "1.2"
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- David Czarnecki
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-12-05 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: rake
|
17
|
-
requirement: &
|
16
|
+
requirement: &2160989100 !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
|
-
requirements:
|
20
|
-
- -
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version:
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
23
22
|
type: :development
|
24
23
|
prerelease: false
|
25
|
-
version_requirements: *
|
26
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
version_requirements: *2160989100
|
25
|
+
- !ruby/object:Gem::Dependency
|
27
26
|
name: rspec
|
28
|
-
requirement: &
|
27
|
+
requirement: &2160988660 !ruby/object:Gem::Requirement
|
29
28
|
none: false
|
30
|
-
requirements:
|
31
|
-
- -
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version:
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
34
33
|
type: :development
|
35
34
|
prerelease: false
|
36
|
-
version_requirements: *
|
37
|
-
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: *2160988660
|
36
|
+
- !ruby/object:Gem::Dependency
|
38
37
|
name: database_cleaner
|
39
|
-
requirement: &
|
38
|
+
requirement: &2160988200 !ruby/object:Gem::Requirement
|
40
39
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version:
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
45
44
|
type: :development
|
46
45
|
prerelease: false
|
47
|
-
version_requirements: *
|
48
|
-
- !ruby/object:Gem::Dependency
|
46
|
+
version_requirements: *2160988200
|
47
|
+
- !ruby/object:Gem::Dependency
|
49
48
|
name: fabrication
|
50
|
-
requirement: &
|
49
|
+
requirement: &2160987760 !ruby/object:Gem::Requirement
|
51
50
|
none: false
|
52
|
-
requirements:
|
53
|
-
- -
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version:
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
56
55
|
type: :development
|
57
56
|
prerelease: false
|
58
|
-
version_requirements: *
|
59
|
-
- !ruby/object:Gem::Dependency
|
57
|
+
version_requirements: *2160987760
|
58
|
+
- !ruby/object:Gem::Dependency
|
60
59
|
name: mongo_mapper
|
61
|
-
requirement: &
|
60
|
+
requirement: &2160987340 !ruby/object:Gem::Requirement
|
62
61
|
none: false
|
63
|
-
requirements:
|
64
|
-
- -
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version:
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
67
66
|
type: :development
|
68
67
|
prerelease: false
|
69
|
-
version_requirements: *
|
70
|
-
- !ruby/object:Gem::Dependency
|
68
|
+
version_requirements: *2160987340
|
69
|
+
- !ruby/object:Gem::Dependency
|
71
70
|
name: mongo_ext
|
72
|
-
requirement: &
|
71
|
+
requirement: &2160986860 !ruby/object:Gem::Requirement
|
73
72
|
none: false
|
74
|
-
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version:
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
78
77
|
type: :development
|
79
78
|
prerelease: false
|
80
|
-
version_requirements: *
|
81
|
-
- !ruby/object:Gem::Dependency
|
79
|
+
version_requirements: *2160986860
|
80
|
+
- !ruby/object:Gem::Dependency
|
82
81
|
name: bson_ext
|
83
|
-
requirement: &
|
82
|
+
requirement: &2160986440 !ruby/object:Gem::Requirement
|
84
83
|
none: false
|
85
|
-
requirements:
|
86
|
-
- -
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version:
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
89
88
|
type: :development
|
90
89
|
prerelease: false
|
91
|
-
version_requirements: *
|
92
|
-
- !ruby/object:Gem::Dependency
|
90
|
+
version_requirements: *2160986440
|
91
|
+
- !ruby/object:Gem::Dependency
|
93
92
|
name: activerecord
|
94
|
-
requirement: &
|
93
|
+
requirement: &2160985960 !ruby/object:Gem::Requirement
|
95
94
|
none: false
|
96
|
-
requirements:
|
97
|
-
- -
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version:
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
100
99
|
type: :development
|
101
100
|
prerelease: false
|
102
|
-
version_requirements: *
|
103
|
-
- !ruby/object:Gem::Dependency
|
101
|
+
version_requirements: *2160985960
|
102
|
+
- !ruby/object:Gem::Dependency
|
104
103
|
name: sqlite3
|
105
|
-
requirement: &
|
104
|
+
requirement: &2160846320 !ruby/object:Gem::Requirement
|
106
105
|
none: false
|
107
|
-
requirements:
|
108
|
-
- -
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version:
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
111
110
|
type: :development
|
112
111
|
prerelease: false
|
113
|
-
version_requirements: *
|
114
|
-
- !ruby/object:Gem::Dependency
|
112
|
+
version_requirements: *2160846320
|
113
|
+
- !ruby/object:Gem::Dependency
|
115
114
|
name: ohm
|
116
|
-
requirement: &
|
115
|
+
requirement: &2160845880 !ruby/object:Gem::Requirement
|
117
116
|
none: false
|
118
|
-
requirements:
|
119
|
-
- -
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
version:
|
117
|
+
requirements:
|
118
|
+
- - ! '>='
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0'
|
122
121
|
type: :development
|
123
122
|
prerelease: false
|
124
|
-
version_requirements: *
|
125
|
-
- !ruby/object:Gem::Dependency
|
123
|
+
version_requirements: *2160845880
|
124
|
+
- !ruby/object:Gem::Dependency
|
126
125
|
name: ohm-contrib
|
127
|
-
requirement: &
|
126
|
+
requirement: &2160845460 !ruby/object:Gem::Requirement
|
128
127
|
none: false
|
129
|
-
requirements:
|
130
|
-
- -
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version:
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
133
132
|
type: :development
|
134
133
|
prerelease: false
|
135
|
-
version_requirements: *
|
136
|
-
- !ruby/object:Gem::Dependency
|
134
|
+
version_requirements: *2160845460
|
135
|
+
- !ruby/object:Gem::Dependency
|
137
136
|
name: activesupport
|
138
|
-
requirement: &
|
137
|
+
requirement: &2160845000 !ruby/object:Gem::Requirement
|
139
138
|
none: false
|
140
|
-
requirements:
|
141
|
-
- -
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
version:
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
144
143
|
type: :runtime
|
145
144
|
prerelease: false
|
146
|
-
version_requirements: *
|
147
|
-
- !ruby/object:Gem::Dependency
|
145
|
+
version_requirements: *2160845000
|
146
|
+
- !ruby/object:Gem::Dependency
|
148
147
|
name: i18n
|
149
|
-
requirement: &
|
148
|
+
requirement: &2160844520 !ruby/object:Gem::Requirement
|
150
149
|
none: false
|
151
|
-
requirements:
|
152
|
-
- -
|
153
|
-
- !ruby/object:Gem::Version
|
154
|
-
version:
|
150
|
+
requirements:
|
151
|
+
- - ! '>='
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
155
154
|
type: :runtime
|
156
155
|
prerelease: false
|
157
|
-
version_requirements: *
|
158
|
-
- !ruby/object:Gem::Dependency
|
156
|
+
version_requirements: *2160844520
|
157
|
+
- !ruby/object:Gem::Dependency
|
159
158
|
name: json
|
160
|
-
requirement: &
|
159
|
+
requirement: &2160844000 !ruby/object:Gem::Requirement
|
161
160
|
none: false
|
162
|
-
requirements:
|
163
|
-
- -
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version:
|
161
|
+
requirements:
|
162
|
+
- - ! '>='
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: '0'
|
166
165
|
type: :runtime
|
167
166
|
prerelease: false
|
168
|
-
version_requirements: *
|
169
|
-
- !ruby/object:Gem::Dependency
|
167
|
+
version_requirements: *2160844000
|
168
|
+
- !ruby/object:Gem::Dependency
|
170
169
|
name: redis
|
171
|
-
requirement: &
|
170
|
+
requirement: &2160843300 !ruby/object:Gem::Requirement
|
172
171
|
none: false
|
173
|
-
requirements:
|
174
|
-
- -
|
175
|
-
- !ruby/object:Gem::Version
|
176
|
-
version:
|
172
|
+
requirements:
|
173
|
+
- - ! '>='
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '0'
|
177
176
|
type: :runtime
|
178
177
|
prerelease: false
|
179
|
-
version_requirements: *
|
180
|
-
- !ruby/object:Gem::Dependency
|
178
|
+
version_requirements: *2160843300
|
179
|
+
- !ruby/object:Gem::Dependency
|
181
180
|
name: leaderboard
|
182
|
-
requirement: &
|
181
|
+
requirement: &2160842220 !ruby/object:Gem::Requirement
|
183
182
|
none: false
|
184
|
-
requirements:
|
185
|
-
- -
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version:
|
183
|
+
requirements:
|
184
|
+
- - ! '>='
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '0'
|
188
187
|
type: :runtime
|
189
188
|
prerelease: false
|
190
|
-
version_requirements: *
|
189
|
+
version_requirements: *2160842220
|
191
190
|
description: Activity feeds backed by Redis
|
192
|
-
email:
|
191
|
+
email:
|
193
192
|
- dczarnecki@agoragames.com
|
194
193
|
executables: []
|
195
|
-
|
196
194
|
extensions: []
|
197
|
-
|
198
195
|
extra_rdoc_files: []
|
199
|
-
|
200
|
-
files:
|
196
|
+
files:
|
201
197
|
- .gitignore
|
202
198
|
- .rvmrc
|
203
199
|
- CHANGELOG.markdown
|
@@ -222,38 +218,35 @@ files:
|
|
222
218
|
- spec/version_spec.rb
|
223
219
|
homepage: https://github.com/agoragames/activity_feed
|
224
220
|
licenses: []
|
225
|
-
|
226
221
|
post_install_message:
|
227
222
|
rdoc_options: []
|
228
|
-
|
229
|
-
require_paths:
|
223
|
+
require_paths:
|
230
224
|
- lib
|
231
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
225
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
232
226
|
none: false
|
233
|
-
requirements:
|
234
|
-
- -
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
|
237
|
-
segments:
|
227
|
+
requirements:
|
228
|
+
- - ! '>='
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: '0'
|
231
|
+
segments:
|
238
232
|
- 0
|
239
|
-
|
240
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
233
|
+
hash: 680484865266501391
|
234
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
241
235
|
none: false
|
242
|
-
requirements:
|
243
|
-
- -
|
244
|
-
- !ruby/object:Gem::Version
|
245
|
-
|
246
|
-
segments:
|
236
|
+
requirements:
|
237
|
+
- - ! '>='
|
238
|
+
- !ruby/object:Gem::Version
|
239
|
+
version: '0'
|
240
|
+
segments:
|
247
241
|
- 0
|
248
|
-
|
242
|
+
hash: 680484865266501391
|
249
243
|
requirements: []
|
250
|
-
|
251
244
|
rubyforge_project: activity_feed
|
252
|
-
rubygems_version: 1.8.
|
245
|
+
rubygems_version: 1.8.10
|
253
246
|
signing_key:
|
254
247
|
specification_version: 3
|
255
248
|
summary: Activity feeds backed by Redis
|
256
|
-
test_files:
|
249
|
+
test_files:
|
257
250
|
- spec/activity_feed/custom/item.rb
|
258
251
|
- spec/activity_feed_spec.rb
|
259
252
|
- spec/fabricators/item_fabricator.rb
|