activity_feed 1.0.0 → 1.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.
- data/CHANGELOG.markdown +5 -0
- data/README.markdown +27 -1
- data/activity_feed.gemspec +4 -0
- data/lib/activity_feed.rb +10 -5
- data/lib/activity_feed/ohm/item.rb +28 -0
- data/lib/activity_feed/version.rb +1 -1
- data/spec/activity_feed_spec.rb +20 -0
- data/spec/fabricators/item_fabricator.rb +11 -0
- data/spec/feed_spec.rb +24 -0
- data/spec/version_spec.rb +1 -1
- metadata +165 -138
data/CHANGELOG.markdown
CHANGED
data/README.markdown
CHANGED
@@ -23,7 +23,7 @@ check out the Redis documentation, http://redis.io/documentation.
|
|
23
23
|
ActivityFeed.redis = Redis.new(:host => '127.0.0.1', :port => 6379)
|
24
24
|
ActivityFeed.namespace = 'activity'
|
25
25
|
ActivityFeed.key = 'feed'
|
26
|
-
ActivityFeed.persistence = :memory (or :active_record or :mongo_mapper)
|
26
|
+
ActivityFeed.persistence = :memory # (or :active_record or :mongo_mapper or :ohm)
|
27
27
|
```
|
28
28
|
|
29
29
|
## Usage
|
@@ -167,6 +167,32 @@ ruby-1.9.2-p290 :012 > feed.page(1)
|
|
167
167
|
ruby-1.9.2-p290 :013 >
|
168
168
|
```
|
169
169
|
|
170
|
+
### Ohm-backed persistence
|
171
|
+
|
172
|
+
ActivityFeed can also use Ohm to persist the items in Redis. You can set this using:
|
173
|
+
|
174
|
+
```ruby
|
175
|
+
ruby-1.9.2-p290 :001 > require 'redis'
|
176
|
+
=> true
|
177
|
+
ruby-1.9.2-p290 :002 > $redis = Redis.new(:host => 'localhost', :port => 6379)
|
178
|
+
=> #<Redis client v2.2.2 connected to redis://localhost:6379/0 (Redis v2.2.5)>
|
179
|
+
ruby-1.9.2-p290 :003 > require 'activity_feed'
|
180
|
+
=> true
|
181
|
+
ruby-1.9.2-p290 :004 > ActivityFeed.redis = $redis
|
182
|
+
=> #<Redis client v2.2.2 connected to redis://localhost:6379/0 (Redis v2.2.5)>
|
183
|
+
ruby-1.9.2-p290 :005 > ActivityFeed.persistence = :ohm
|
184
|
+
=> :ohm
|
185
|
+
ruby-1.9.2-p290 :006 > ActivityFeed.create_item(:user_id => 1, :nickname => 'David Czarnecki', :type => 'activity-type', :text => 'Text')
|
186
|
+
=> #<ActivityFeed::Ohm::Item:1 created_at="2011-10-08 17:40:03 UTC" updated_at="2011-10-08 17:40:03 UTC" user_id=1 nickname="David Czarnecki" type="activity-type" title=nil text="Text" url=nil icon=nil sticky=nil>
|
187
|
+
ruby-1.9.2-p290 :007 > ActivityFeed.create_item(:user_id => 1, :nickname => 'David Czarnecki', :type => 'activity-type', :text => 'More text')
|
188
|
+
=> #<ActivityFeed::Ohm::Item:2 created_at="2011-10-08 17:40:25 UTC" updated_at="2011-10-08 17:40:25 UTC" user_id=1 nickname="David Czarnecki" type="activity-type" title=nil text="More text" url=nil icon=nil sticky=nil>
|
189
|
+
ruby-1.9.2-p290 :008 > feed = ActivityFeed::Feed.new(1)
|
190
|
+
=> #<ActivityFeed::Feed:0x007fd009bc05f8 @feederboard=#<Leaderboard:0x007fd009bc0508 @leaderboard_name="activity:feed:1", @page_size=25, @redis_connection=#<Redis client v2.2.2 connected to redis://localhost:6379/0 (Redis v2.2.5)>>>
|
191
|
+
ruby-1.9.2-p290 :009 > feed.page(1)
|
192
|
+
=> [#<ActivityFeed::Ohm::Item:2 created_at="2011-10-08 17:40:25 UTC" updated_at="2011-10-08 17:40:25 UTC" user_id="1" nickname="David Czarnecki" type="activity-type" title=nil text="More text" url=nil icon=nil sticky=nil>, #<ActivityFeed::Ohm::Item:1 created_at="2011-10-08 17:40:03 UTC" updated_at="2011-10-08 17:40:03 UTC" user_id="1" nickname="David Czarnecki" type="activity-type" title=nil text="Text" url=nil icon=nil sticky=nil>]
|
193
|
+
ruby-1.9.2-p290 :010 >
|
194
|
+
```
|
195
|
+
|
170
196
|
### Custom persistence
|
171
197
|
|
172
198
|
ActivityFeed can also use a custom class to do more customization. You can set this using:
|
data/activity_feed.gemspec
CHANGED
@@ -30,8 +30,12 @@ Gem::Specification.new do |s|
|
|
30
30
|
|
31
31
|
s.add_development_dependency('activerecord')
|
32
32
|
s.add_development_dependency('sqlite3')
|
33
|
+
|
34
|
+
s.add_development_dependency('ohm')
|
35
|
+
s.add_development_dependency('ohm-contrib')
|
33
36
|
|
34
37
|
s.add_dependency('activesupport')
|
38
|
+
s.add_dependency('activemodel')
|
35
39
|
s.add_dependency('i18n')
|
36
40
|
|
37
41
|
s.add_dependency('json')
|
data/lib/activity_feed.rb
CHANGED
@@ -15,15 +15,18 @@ module ActivityFeed
|
|
15
15
|
@@persistence_type = type
|
16
16
|
|
17
17
|
case type
|
18
|
+
when :active_record
|
19
|
+
require 'activity_feed/active_record/item'
|
20
|
+
klazz = ActivityFeed::ActiveRecord::Item
|
18
21
|
when :memory
|
19
22
|
require 'activity_feed/memory/item'
|
20
23
|
klazz = ActivityFeed::Memory::Item
|
21
24
|
when :mongo_mapper
|
22
25
|
require 'activity_feed/mongo_mapper/item'
|
23
26
|
klazz = ActivityFeed::MongoMapper::Item
|
24
|
-
when :
|
25
|
-
require 'activity_feed/
|
26
|
-
klazz = ActivityFeed::
|
27
|
+
when :ohm
|
28
|
+
require 'activity_feed/ohm/item'
|
29
|
+
klazz = ActivityFeed::Ohm::Item
|
27
30
|
else
|
28
31
|
klazz = "ActivityFeed::#{type.to_s.classify}::Item".constantize
|
29
32
|
end
|
@@ -39,12 +42,14 @@ module ActivityFeed
|
|
39
42
|
|
40
43
|
def self.load_item(item_or_item_id)
|
41
44
|
case @@persistence_type
|
45
|
+
when :active_record
|
46
|
+
ActivityFeed::ActiveRecord::Item.find(item_or_item_id)
|
42
47
|
when :memory
|
43
48
|
JSON.parse(item_or_item_id)
|
44
49
|
when :mongo_mapper
|
45
50
|
ActivityFeed::MongoMapper::Item.find(item_or_item_id)
|
46
|
-
when :
|
47
|
-
ActivityFeed::
|
51
|
+
when :ohm
|
52
|
+
ActivityFeed::Ohm::Item[item_or_item_id]
|
48
53
|
else
|
49
54
|
@@persistence.find(item_or_item_id)
|
50
55
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'ohm'
|
2
|
+
require 'ohm/contrib'
|
3
|
+
|
4
|
+
module ActivityFeed
|
5
|
+
module Ohm
|
6
|
+
class Item < ::Ohm::Model
|
7
|
+
include ::Ohm::Callbacks
|
8
|
+
include ::Ohm::Timestamping
|
9
|
+
|
10
|
+
attribute :user_id
|
11
|
+
attribute :nickname
|
12
|
+
attribute :type
|
13
|
+
attribute :title
|
14
|
+
attribute :text
|
15
|
+
attribute :url
|
16
|
+
attribute :icon
|
17
|
+
attribute :sticky
|
18
|
+
|
19
|
+
after :save, :update_redis
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def update_redis
|
24
|
+
ActivityFeed.redis.zadd("#{ActivityFeed.namespace}:#{ActivityFeed.key}:#{self.user_id}", self.created_at.to_i, self.id)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/spec/activity_feed_spec.rb
CHANGED
@@ -39,6 +39,17 @@ describe ActivityFeed do
|
|
39
39
|
ActivityFeed.redis.zcard("#{ActivityFeed.namespace}:#{ActivityFeed.key}:#{user_id}").should be(1)
|
40
40
|
ActivityFeed::ActiveRecord::Item.count.should be(1)
|
41
41
|
end
|
42
|
+
|
43
|
+
it 'should allow you to create a new item using :ohm' do
|
44
|
+
user_id = 1
|
45
|
+
ActivityFeed.persistence = :ohm
|
46
|
+
|
47
|
+
ActivityFeed::Ohm::Item.all.count.should be(0)
|
48
|
+
ActivityFeed.redis.zcard("#{ActivityFeed.namespace}:#{ActivityFeed.key}:#{user_id}").should be(0)
|
49
|
+
ActivityFeed.create_item(:user_id => user_id, :text => 'This is text for my activity feed')
|
50
|
+
ActivityFeed.redis.zcard("#{ActivityFeed.namespace}:#{ActivityFeed.key}:#{user_id}").should be(1)
|
51
|
+
ActivityFeed::Ohm::Item.all.count.should be(1)
|
52
|
+
end
|
42
53
|
end
|
43
54
|
|
44
55
|
describe 'loading' do
|
@@ -68,6 +79,15 @@ describe ActivityFeed do
|
|
68
79
|
loaded_item = ActivityFeed.load_item(item.id)
|
69
80
|
loaded_item.should == item
|
70
81
|
end
|
82
|
+
|
83
|
+
it 'should allow you to load an item using :ohm' do
|
84
|
+
user_id = 1
|
85
|
+
ActivityFeed.persistence = :ohm
|
86
|
+
|
87
|
+
item = ActivityFeed.create_item(:user_id => user_id, :text => 'This is text for my activity feed')
|
88
|
+
loaded_item = ActivityFeed.load_item(item.id)
|
89
|
+
loaded_item.should == item
|
90
|
+
end
|
71
91
|
end
|
72
92
|
|
73
93
|
describe 'custom persistence' do
|
@@ -30,3 +30,14 @@ Fabricator(ActivityFeed::MongoMapper::Item) do
|
|
30
30
|
icon { 'http://icon' }
|
31
31
|
sticky { false }
|
32
32
|
end
|
33
|
+
|
34
|
+
Fabricator(ActivityFeed::Ohm::Item) do
|
35
|
+
user_id { sequence(:user_id) }
|
36
|
+
nickname { sequence(:nickname) { |i| "nickname_#{i}" } }
|
37
|
+
type { 'activity' }
|
38
|
+
title { 'item title' }
|
39
|
+
text { 'feed item' }
|
40
|
+
url { 'http://url' }
|
41
|
+
icon { 'http://icon' }
|
42
|
+
sticky { false }
|
43
|
+
end
|
data/spec/feed_spec.rb
CHANGED
@@ -10,6 +10,18 @@ describe ActivityFeed::Feed do
|
|
10
10
|
feed.page(1).size.should be(5)
|
11
11
|
end
|
12
12
|
|
13
|
+
it 'should pull up the correct list of ActivityFeed::ActiveRecord::Item when calling #page using :active_record' do
|
14
|
+
ActivityFeed.persistence = :active_record
|
15
|
+
ActivityFeed::ActiveRecord::Item.count.should be(0)
|
16
|
+
1.upto(5) do |index|
|
17
|
+
item = ActivityFeed.create_item(:user_id => 1, :nickname => 'nickname_1', :text => "text_#{index}")
|
18
|
+
end
|
19
|
+
ActivityFeed::ActiveRecord::Item.count.should be(5)
|
20
|
+
|
21
|
+
feed = ActivityFeed::Feed.new(1)
|
22
|
+
feed.page(1).size.should be(5)
|
23
|
+
end
|
24
|
+
|
13
25
|
it 'should pull up the correct list of ActivityFeed::MongoMapper::Item when calling #page using :mongo_mapper' do
|
14
26
|
ActivityFeed.persistence = :mongo_mapper
|
15
27
|
ActivityFeed::MongoMapper::Item.count.should be(0)
|
@@ -21,6 +33,18 @@ describe ActivityFeed::Feed do
|
|
21
33
|
feed = ActivityFeed::Feed.new(1)
|
22
34
|
feed.page(1).size.should be(5)
|
23
35
|
end
|
36
|
+
|
37
|
+
it 'should pull up the correct list of ActivityFeed::Ohm::Item when calling #page using :ohm' do
|
38
|
+
ActivityFeed.persistence = :ohm
|
39
|
+
ActivityFeed::Ohm::Item.all.count.should be(0)
|
40
|
+
1.upto(5) do |index|
|
41
|
+
item = ActivityFeed.create_item(:user_id => 1, :nickname => 'nickname_1', :text => "text_#{index}")
|
42
|
+
end
|
43
|
+
ActivityFeed::Ohm::Item.all.count.should be(5)
|
44
|
+
|
45
|
+
feed = ActivityFeed::Feed.new(1)
|
46
|
+
feed.page(1).size.should be(5)
|
47
|
+
end
|
24
48
|
|
25
49
|
it 'should return the correct number for #total_items' do
|
26
50
|
1.upto(3) do |index|
|
data/spec/version_spec.rb
CHANGED
metadata
CHANGED
@@ -1,181 +1,210 @@
|
|
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.1.0
|
4
5
|
prerelease:
|
5
|
-
version: 1.0.0
|
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-10-08 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: rake
|
17
|
-
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70104353383360 !ruby/object:Gem::Requirement
|
19
17
|
none: false
|
20
|
-
requirements:
|
21
|
-
- -
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
24
22
|
type: :development
|
25
|
-
version_requirements: *id001
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: rspec
|
28
23
|
prerelease: false
|
29
|
-
|
24
|
+
version_requirements: *70104353383360
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rspec
|
27
|
+
requirement: &70104353382940 !ruby/object:Gem::Requirement
|
30
28
|
none: false
|
31
|
-
requirements:
|
32
|
-
- -
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version:
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
35
33
|
type: :development
|
36
|
-
version_requirements: *id002
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: database_cleaner
|
39
34
|
prerelease: false
|
40
|
-
|
35
|
+
version_requirements: *70104353382940
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: database_cleaner
|
38
|
+
requirement: &70104353382520 !ruby/object:Gem::Requirement
|
41
39
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version:
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
46
44
|
type: :development
|
47
|
-
version_requirements: *id003
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: fabrication
|
50
45
|
prerelease: false
|
51
|
-
|
46
|
+
version_requirements: *70104353382520
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: fabrication
|
49
|
+
requirement: &70104353382100 !ruby/object:Gem::Requirement
|
52
50
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version:
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
57
55
|
type: :development
|
58
|
-
version_requirements: *id004
|
59
|
-
- !ruby/object:Gem::Dependency
|
60
|
-
name: mongo_mapper
|
61
56
|
prerelease: false
|
62
|
-
|
57
|
+
version_requirements: *70104353382100
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: mongo_mapper
|
60
|
+
requirement: &70104353381680 !ruby/object:Gem::Requirement
|
63
61
|
none: false
|
64
|
-
requirements:
|
65
|
-
- -
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version:
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
68
66
|
type: :development
|
69
|
-
version_requirements: *id005
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: mongo_ext
|
72
67
|
prerelease: false
|
73
|
-
|
68
|
+
version_requirements: *70104353381680
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: mongo_ext
|
71
|
+
requirement: &70104353381260 !ruby/object:Gem::Requirement
|
74
72
|
none: false
|
75
|
-
requirements:
|
76
|
-
- -
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version:
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
79
77
|
type: :development
|
80
|
-
version_requirements: *id006
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: bson_ext
|
83
78
|
prerelease: false
|
84
|
-
|
79
|
+
version_requirements: *70104353381260
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: bson_ext
|
82
|
+
requirement: &70104353380840 !ruby/object:Gem::Requirement
|
85
83
|
none: false
|
86
|
-
requirements:
|
87
|
-
- -
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version:
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
90
88
|
type: :development
|
91
|
-
version_requirements: *id007
|
92
|
-
- !ruby/object:Gem::Dependency
|
93
|
-
name: activerecord
|
94
89
|
prerelease: false
|
95
|
-
|
90
|
+
version_requirements: *70104353380840
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: activerecord
|
93
|
+
requirement: &70104353380420 !ruby/object:Gem::Requirement
|
96
94
|
none: false
|
97
|
-
requirements:
|
98
|
-
- -
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
version:
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
101
99
|
type: :development
|
102
|
-
|
103
|
-
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: *70104353380420
|
102
|
+
- !ruby/object:Gem::Dependency
|
104
103
|
name: sqlite3
|
104
|
+
requirement: &70104353380000 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: *70104353380000
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: ohm
|
115
|
+
requirement: &70104353379580 !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
117
|
+
requirements:
|
118
|
+
- - ! '>='
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0'
|
121
|
+
type: :development
|
105
122
|
prerelease: false
|
106
|
-
|
123
|
+
version_requirements: *70104353379580
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: ohm-contrib
|
126
|
+
requirement: &70104353379160 !ruby/object:Gem::Requirement
|
107
127
|
none: false
|
108
|
-
requirements:
|
109
|
-
- -
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version:
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
112
132
|
type: :development
|
113
|
-
|
114
|
-
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: *70104353379160
|
135
|
+
- !ruby/object:Gem::Dependency
|
115
136
|
name: activesupport
|
137
|
+
requirement: &70104353378740 !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
143
|
+
type: :runtime
|
116
144
|
prerelease: false
|
117
|
-
|
145
|
+
version_requirements: *70104353378740
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
name: activemodel
|
148
|
+
requirement: &70104353378320 !ruby/object:Gem::Requirement
|
118
149
|
none: false
|
119
|
-
requirements:
|
120
|
-
- -
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
version:
|
150
|
+
requirements:
|
151
|
+
- - ! '>='
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
123
154
|
type: :runtime
|
124
|
-
version_requirements: *id010
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: i18n
|
127
155
|
prerelease: false
|
128
|
-
|
156
|
+
version_requirements: *70104353378320
|
157
|
+
- !ruby/object:Gem::Dependency
|
158
|
+
name: i18n
|
159
|
+
requirement: &70104353377900 !ruby/object:Gem::Requirement
|
129
160
|
none: false
|
130
|
-
requirements:
|
131
|
-
- -
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version:
|
161
|
+
requirements:
|
162
|
+
- - ! '>='
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: '0'
|
134
165
|
type: :runtime
|
135
|
-
version_requirements: *id011
|
136
|
-
- !ruby/object:Gem::Dependency
|
137
|
-
name: json
|
138
166
|
prerelease: false
|
139
|
-
|
167
|
+
version_requirements: *70104353377900
|
168
|
+
- !ruby/object:Gem::Dependency
|
169
|
+
name: json
|
170
|
+
requirement: &70104353377480 !ruby/object:Gem::Requirement
|
140
171
|
none: false
|
141
|
-
requirements:
|
142
|
-
- -
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version:
|
172
|
+
requirements:
|
173
|
+
- - ! '>='
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '0'
|
145
176
|
type: :runtime
|
146
|
-
version_requirements: *id012
|
147
|
-
- !ruby/object:Gem::Dependency
|
148
|
-
name: redis
|
149
177
|
prerelease: false
|
150
|
-
|
178
|
+
version_requirements: *70104353377480
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
name: redis
|
181
|
+
requirement: &70104353377060 !ruby/object:Gem::Requirement
|
151
182
|
none: false
|
152
|
-
requirements:
|
153
|
-
- -
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
version:
|
183
|
+
requirements:
|
184
|
+
- - ! '>='
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '0'
|
156
187
|
type: :runtime
|
157
|
-
version_requirements: *id013
|
158
|
-
- !ruby/object:Gem::Dependency
|
159
|
-
name: leaderboard
|
160
188
|
prerelease: false
|
161
|
-
|
189
|
+
version_requirements: *70104353377060
|
190
|
+
- !ruby/object:Gem::Dependency
|
191
|
+
name: leaderboard
|
192
|
+
requirement: &70104353376640 !ruby/object:Gem::Requirement
|
162
193
|
none: false
|
163
|
-
requirements:
|
164
|
-
- -
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version:
|
194
|
+
requirements:
|
195
|
+
- - ! '>='
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0'
|
167
198
|
type: :runtime
|
168
|
-
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: *70104353376640
|
169
201
|
description: Activity feeds backed by Redis
|
170
|
-
email:
|
202
|
+
email:
|
171
203
|
- dczarnecki@agoragames.com
|
172
204
|
executables: []
|
173
|
-
|
174
205
|
extensions: []
|
175
|
-
|
176
206
|
extra_rdoc_files: []
|
177
|
-
|
178
|
-
files:
|
207
|
+
files:
|
179
208
|
- .gitignore
|
180
209
|
- .rvmrc
|
181
210
|
- CHANGELOG.markdown
|
@@ -189,6 +218,7 @@ files:
|
|
189
218
|
- lib/activity_feed/feed.rb
|
190
219
|
- lib/activity_feed/memory/item.rb
|
191
220
|
- lib/activity_feed/mongo_mapper/item.rb
|
221
|
+
- lib/activity_feed/ohm/item.rb
|
192
222
|
- lib/activity_feed/version.rb
|
193
223
|
- spec/activity_feed/custom/item.rb
|
194
224
|
- spec/activity_feed_spec.rb
|
@@ -199,32 +229,29 @@ files:
|
|
199
229
|
- spec/version_spec.rb
|
200
230
|
homepage: https://github.com/agoragames/activity_feed
|
201
231
|
licenses: []
|
202
|
-
|
203
232
|
post_install_message:
|
204
233
|
rdoc_options: []
|
205
|
-
|
206
|
-
require_paths:
|
234
|
+
require_paths:
|
207
235
|
- lib
|
208
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
236
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
209
237
|
none: false
|
210
|
-
requirements:
|
211
|
-
- -
|
212
|
-
- !ruby/object:Gem::Version
|
213
|
-
version:
|
214
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
238
|
+
requirements:
|
239
|
+
- - ! '>='
|
240
|
+
- !ruby/object:Gem::Version
|
241
|
+
version: '0'
|
242
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
215
243
|
none: false
|
216
|
-
requirements:
|
217
|
-
- -
|
218
|
-
- !ruby/object:Gem::Version
|
219
|
-
version:
|
244
|
+
requirements:
|
245
|
+
- - ! '>='
|
246
|
+
- !ruby/object:Gem::Version
|
247
|
+
version: '0'
|
220
248
|
requirements: []
|
221
|
-
|
222
249
|
rubyforge_project: activity_feed
|
223
|
-
rubygems_version: 1.8.
|
250
|
+
rubygems_version: 1.8.6
|
224
251
|
signing_key:
|
225
252
|
specification_version: 3
|
226
253
|
summary: Activity feeds backed by Redis
|
227
|
-
test_files:
|
254
|
+
test_files:
|
228
255
|
- spec/activity_feed/custom/item.rb
|
229
256
|
- spec/activity_feed_spec.rb
|
230
257
|
- spec/fabricators/item_fabricator.rb
|