activity_feed 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.markdown CHANGED
@@ -1,5 +1,10 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.1.0
4
+
5
+ * Added support for Ohm persistence, http://ohm.keyvalue.org
6
+ * Updated specs
7
+
3
8
  ## 1.0.0
4
9
 
5
10
  * Initial release
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:
@@ -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 :active_record
25
- require 'activity_feed/active_record/item'
26
- klazz = ActivityFeed::ActiveRecord::Item
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 :active_record
47
- ActivityFeed::ActiveRecord::Item.find(item_or_item_id)
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
@@ -1,3 +1,3 @@
1
1
  module ActivityFeed
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -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
@@ -2,6 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  describe ActivityFeed do
4
4
  it "should be the correct version" do
5
- ActivityFeed::VERSION.should == '1.0.0'
5
+ ActivityFeed::VERSION.should == '1.1.0'
6
6
  end
7
7
  end
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
- date: 2011-10-05 00:00:00 Z
14
- dependencies:
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
- prerelease: false
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: "0"
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
- requirement: &id002 !ruby/object:Gem::Requirement
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: "0"
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
- requirement: &id003 !ruby/object:Gem::Requirement
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: "0"
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
- requirement: &id004 !ruby/object:Gem::Requirement
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: "0"
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
- requirement: &id005 !ruby/object:Gem::Requirement
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: "0"
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
- requirement: &id006 !ruby/object:Gem::Requirement
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: "0"
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
- requirement: &id007 !ruby/object:Gem::Requirement
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: "0"
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
- requirement: &id008 !ruby/object:Gem::Requirement
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: "0"
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
101
99
  type: :development
102
- version_requirements: *id008
103
- - !ruby/object:Gem::Dependency
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
- requirement: &id009 !ruby/object:Gem::Requirement
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: "0"
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
112
132
  type: :development
113
- version_requirements: *id009
114
- - !ruby/object:Gem::Dependency
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
- requirement: &id010 !ruby/object:Gem::Requirement
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: "0"
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
- requirement: &id011 !ruby/object:Gem::Requirement
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: "0"
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
- requirement: &id012 !ruby/object:Gem::Requirement
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: "0"
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
- requirement: &id013 !ruby/object:Gem::Requirement
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: "0"
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
- requirement: &id014 !ruby/object:Gem::Requirement
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: "0"
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
167
198
  type: :runtime
168
- version_requirements: *id014
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: "0"
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: "0"
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.11
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