social_stream-base 0.20.0 → 0.20.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. data/README.rdoc +2 -2
  2. data/app/assets/stylesheets/base.css.scss +1 -1
  3. data/app/controllers/activities_controller.rb +1 -2
  4. data/app/controllers/profiles_controller.rb +40 -8
  5. data/app/controllers/search_controller.rb +6 -49
  6. data/app/helpers/search_helper.rb +4 -34
  7. data/app/models/activity_object.rb +37 -4
  8. data/app/models/actor.rb +6 -0
  9. data/app/models/relation.rb +15 -0
  10. data/app/models/tie.rb +6 -0
  11. data/app/views/comments/create.js.erb +12 -7
  12. data/app/views/messages/_form.html.erb +1 -1
  13. data/app/views/posts/create.js.erb +8 -3
  14. data/app/views/search/_extended_search.html.erb +1 -1
  15. data/app/views/search/_extended_tab.html.erb +5 -0
  16. data/app/views/search/_form.html.erb +3 -3
  17. data/app/views/search/index.js.erb +3 -3
  18. data/config/routes.rb +6 -2
  19. data/lib/logos/groups/1.jpg +0 -0
  20. data/lib/logos/groups/10.jpg +0 -0
  21. data/lib/logos/groups/11.jpg +0 -0
  22. data/lib/logos/groups/12.jpg +0 -0
  23. data/lib/logos/groups/2.jpg +0 -0
  24. data/lib/logos/groups/3.jpg +0 -0
  25. data/lib/logos/groups/4.jpg +0 -0
  26. data/lib/logos/groups/5.jpg +0 -0
  27. data/lib/logos/groups/6.jpg +0 -0
  28. data/lib/logos/groups/7.jpg +0 -0
  29. data/lib/logos/groups/8.jpg +0 -0
  30. data/lib/logos/groups/9.jpg +0 -0
  31. data/lib/logos/partners/1.jpg +0 -0
  32. data/lib/logos/partners/1.png +0 -0
  33. data/lib/logos/partners/2.jpg +0 -0
  34. data/lib/logos/partners/2.png +0 -0
  35. data/lib/logos/users/1.jpg +0 -0
  36. data/lib/logos/users/10.jpg +0 -0
  37. data/lib/logos/users/11.jpg +0 -0
  38. data/lib/logos/users/12.jpg +0 -0
  39. data/lib/logos/users/2.jpg +0 -0
  40. data/lib/logos/users/3.jpg +0 -0
  41. data/lib/logos/users/4.jpg +0 -0
  42. data/lib/logos/users/5.jpg +0 -0
  43. data/lib/logos/users/6.jpg +0 -0
  44. data/lib/logos/users/7.jpg +0 -0
  45. data/lib/logos/users/8.jpg +0 -0
  46. data/lib/logos/users/9.jpg +0 -0
  47. data/lib/social_stream-base.rb +8 -0
  48. data/lib/social_stream/base/dependencies.rb +3 -1
  49. data/lib/social_stream/base/thinking-sphinx.rb +3 -1
  50. data/lib/social_stream/base/version.rb +1 -1
  51. data/lib/social_stream/controllers/helpers.rb +36 -30
  52. data/lib/social_stream/controllers/objects.rb +89 -1
  53. data/lib/social_stream/controllers/subjects.rb +3 -1
  54. data/lib/social_stream/models/object.rb +18 -0
  55. data/lib/social_stream/models/subject.rb +2 -0
  56. data/lib/social_stream/population/activity_object.rb +55 -0
  57. data/lib/social_stream/{populate.rb → population/power_law.rb} +3 -4
  58. data/lib/social_stream/population/timestamps.rb +12 -0
  59. data/lib/social_stream/search.rb +107 -0
  60. data/lib/tasks/db/populate.rake +13 -26
  61. data/social_stream-base.gemspec +3 -1
  62. data/spec/models/post_spec.rb +14 -0
  63. metadata +110 -68
@@ -1,14 +1,13 @@
1
1
  module SocialStream
2
- module Populate
3
-
4
- class << self
2
+ module Population
3
+ class PowerLaw
5
4
  # Yields each element of array y times given by
6
5
  # {power law distribution}[http://en.wikipedia.org/wiki/Power_law]
7
6
  # y = ax**k + e
8
7
  #
9
8
  # Options: Each constant in the function
10
9
  #
11
- def power_law(array, options = {})
10
+ def initialize(array, options = {})
12
11
  options[:a] ||= array.size
13
12
  options[:k] ||= -2.5
14
13
  options[:e] ||= 1
@@ -0,0 +1,12 @@
1
+ module SocialStream
2
+ module Population
3
+ class Timestamps
4
+ attr_reader :created, :updated
5
+
6
+ def initialize
7
+ @updated = Time.at(rand(Time.now.to_i))
8
+ @created = Time.at(rand(@updated.to_i))
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,107 @@
1
+ module SocialStream
2
+ module Search
3
+ class << self
4
+ def keys(search_type)
5
+ case search_type
6
+ when :quick
7
+ SocialStream.quick_search_models
8
+ when :extended
9
+ extended_search_models.keys
10
+ end
11
+ end
12
+
13
+ def models(search_type, key = nil)
14
+ case search_type
15
+ when :quick
16
+ quick_search_models
17
+ when :extended
18
+ if key.present?
19
+ if extended_search_models.keys.include?(key.to_sym)
20
+ extended_search_models[key.to_sym]
21
+ else
22
+ if extended_search_models.values.flatten.map{ |k| k.to_s }.include?(key.to_s.classify)
23
+ [key.to_s.classify.constantize]
24
+ else
25
+ raise "Unknown search key #{ key }"
26
+ end
27
+ end
28
+ else
29
+ extended_search_models.values.flatten
30
+ end
31
+ else
32
+ raise "Unknown search type #{ search_type }"
33
+ end
34
+ end
35
+
36
+ def search(query, subject, options = {})
37
+ ThinkingSphinx.search *args_for_search(query, subject, options)
38
+ end
39
+
40
+ def count(query, subject, options = {})
41
+ ThinkingSphinx.count *args_for_search(query, subject, options)
42
+ end
43
+
44
+
45
+ private
46
+
47
+ def quick_search_models
48
+ @quick_search_models ||=
49
+ parse_quick_search_models
50
+ end
51
+
52
+ def parse_quick_search_models
53
+ SocialStream.quick_search_models.map{ |m|
54
+ m.to_s.classify.constantize
55
+ }
56
+ end
57
+
58
+ def extended_search_models
59
+ @extended_search_models ||=
60
+ parse_extended_search_models
61
+ end
62
+
63
+ # Get a normalized hash from the configuration. Converts this:
64
+ #
65
+ # [ :excursion, :user, { :resource => [ :post, :comment, :picture ] }
66
+ #
67
+ # into this:
68
+ #
69
+ # {
70
+ # :excursion => [ Excursion ],
71
+ # :user => [ User ],
72
+ # :resource => [ Post, Comment, Picture ]
73
+ # }
74
+ #
75
+ def parse_extended_search_models
76
+ SocialStream.extended_search_models.inject({}) do |hash, entry|
77
+ case entry
78
+ when Hash
79
+ hash.update entry.inject({}){ |h, e|
80
+ h[e.first] = Array.wrap(e.last).map{ |f| f.to_s.classify.constantize }
81
+ h
82
+ }
83
+ when Symbol
84
+ hash[entry] = Array.wrap(entry.to_s.classify.constantize)
85
+ else
86
+ raise "Unknown entry in config.extended_search_models #{ entry }"
87
+ end
88
+
89
+ hash
90
+ end
91
+ end
92
+
93
+ def args_for_search(query, subject, options = {})
94
+ options[:mode] ||= :extended
95
+
96
+ models = models(options[:mode], options[:key])
97
+ relation_ids = Relation.ids_shared_with(subject)
98
+
99
+ [
100
+ query,
101
+ :classes => models,
102
+ :with => { :relation_ids => relation_ids }
103
+ ]
104
+ end
105
+ end
106
+ end
107
+ end
@@ -17,8 +17,9 @@ namespace :db do
17
17
  task :read_environment => :environment do
18
18
  require 'forgery'
19
19
 
20
- @LOGOS_PATH = File.join(Rails.root, 'lib', 'logos')
21
- @LOGOS_TOTAL = (ENV["LOGOS_TOTAL"] || 10).to_i
20
+ @SS_BASE_PATH = Gem::Specification.find_by_name('social_stream-base').full_gem_path
21
+ @LOGOS_PATH = File.join(@SS_BASE_PATH, 'lib', 'logos')
22
+ @LOGOS_TOTAL = (ENV["LOGOS_TOTAL"] || 12).to_i
22
23
  @USERS = (ENV["USERS"] || 9).to_i
23
24
  @GROUPS = (ENV["GROUPS"] || 10).to_i
24
25
  if ENV["HARDCORE"].present?
@@ -122,6 +123,13 @@ namespace :db do
122
123
  end
123
124
  end
124
125
 
126
+ Activity.includes(:activity_verb).merge(ActivityVerb.verb_name(["follow", "make-friend"])).each do |a|
127
+ t = SocialStream::Population::Timestamps.new
128
+
129
+ a.update_attributes :created_at => t.created,
130
+ :updated_at => t.updated
131
+ end
132
+
125
133
  ties_end = Time.now
126
134
  puts ' -> ' + (ties_end - ties_start).round(4).to_s + 's'
127
135
  end
@@ -159,31 +167,10 @@ namespace :db do
159
167
  # POSTS
160
168
  desc "Create posts"
161
169
  task :create_posts => :read_environment do
162
- puts 'Post population'
163
- posts_start = Time.now
164
-
165
- SocialStream::Populate.power_law(Tie.positive.all) do |t|
166
- updated = Time.at(rand(Time.now.to_i))
167
-
168
- author = t.sender
169
- owner = t.receiver
170
- user_author = ( t.sender.subject_type == "User" ? t.sender : t.sender.user_author )
171
-
172
- p = Post.create :text =>
173
- "This post should be for #{ t.relation.name } of #{ t.sender.name }.\n#{ Forgery::LoremIpsum.paragraph(:random => true) }",
174
- :created_at => Time.at(rand(updated.to_i)),
175
- :updated_at => updated,
176
- :author_id => author.id,
177
- :owner_id => owner.id,
178
- :user_author_id => user_author.id,
179
- :relation_ids => Array(t.relation_id)
180
-
181
- p.post_activity.update_attributes(:created_at => p.created_at,
182
- :updated_at => p.updated_at)
170
+ SocialStream::Population::ActivityObject.new Post do |p|
171
+ p.text =
172
+ "This post should be for #{ p.relations.map(&:name).join(", ") } of #{ p.owner.name }.\n#{ Forgery::LoremIpsum.paragraph(:random => true) }"
183
173
  end
184
-
185
- posts_end = Time.now
186
- puts ' -> ' + (posts_end - posts_start).round(4).to_s + 's'
187
174
  end
188
175
 
189
176
 
@@ -15,6 +15,8 @@ Gem::Specification.new do |s|
15
15
  #
16
16
  # Do not forget to require the file at lib/social_stream/base/dependencies !
17
17
  #
18
+ # Deep Merge support for Hashes
19
+ s.add_runtime_dependency('deep_merge')
18
20
  # Rails
19
21
  s.add_runtime_dependency('rails', '>= 3.1.0')
20
22
  # Activity and Relation hierarchies
@@ -70,7 +72,7 @@ Gem::Specification.new do |s|
70
72
  if RUBY_VERSION < '1.9'
71
73
  s.add_development_dependency('ruby-debug')
72
74
  else
73
- s.add_development_dependency('ruby-debug19')
75
+ s.add_development_dependency('debugger')
74
76
  end
75
77
  # Specs
76
78
  s.add_development_dependency('rspec-rails', '~> 2.6.1')
@@ -104,6 +104,18 @@ describe Post do
104
104
  post.post_activity.relations.should include(tie.relation)
105
105
  end
106
106
  end
107
+
108
+ describe "a new post" do
109
+ before do
110
+ @user = Factory(:user)
111
+ @post = Post.create!(:text => "test",
112
+ :author_id => @user.actor_id)
113
+ end
114
+
115
+ it "should be shared with user relations" do
116
+ @post.relation_ids.sort.should eq(@user.relation_ids.sort)
117
+ end
118
+ end
107
119
  end
108
120
 
109
121
  describe "authored_by" do
@@ -113,4 +125,6 @@ describe Post do
113
125
  Post.authored_by(post.author).should include(post)
114
126
  end
115
127
  end
128
+
129
+
116
130
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_stream-base
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.0
4
+ version: 0.20.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-04-23 00:00:00.000000000Z
13
+ date: 2012-05-11 00:00:00.000000000 Z
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: deep_merge
17
+ requirement: &76563270 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *76563270
15
26
  - !ruby/object:Gem::Dependency
16
27
  name: rails
17
- requirement: &90062230 !ruby/object:Gem::Requirement
28
+ requirement: &76563000 !ruby/object:Gem::Requirement
18
29
  none: false
19
30
  requirements:
20
31
  - - ! '>='
@@ -22,10 +33,10 @@ dependencies:
22
33
  version: 3.1.0
23
34
  type: :runtime
24
35
  prerelease: false
25
- version_requirements: *90062230
36
+ version_requirements: *76563000
26
37
  - !ruby/object:Gem::Dependency
27
38
  name: ancestry
28
- requirement: &90061980 !ruby/object:Gem::Requirement
39
+ requirement: &76562720 !ruby/object:Gem::Requirement
29
40
  none: false
30
41
  requirements:
31
42
  - - ~>
@@ -33,10 +44,10 @@ dependencies:
33
44
  version: 1.2.3
34
45
  type: :runtime
35
46
  prerelease: false
36
- version_requirements: *90061980
47
+ version_requirements: *76562720
37
48
  - !ruby/object:Gem::Dependency
38
49
  name: foreigner
39
- requirement: &90061750 !ruby/object:Gem::Requirement
50
+ requirement: &76562420 !ruby/object:Gem::Requirement
40
51
  none: false
41
52
  requirements:
42
53
  - - ~>
@@ -44,10 +55,10 @@ dependencies:
44
55
  version: 1.1.1
45
56
  type: :runtime
46
57
  prerelease: false
47
- version_requirements: *90061750
58
+ version_requirements: *76562420
48
59
  - !ruby/object:Gem::Dependency
49
60
  name: devise
50
- requirement: &90061520 !ruby/object:Gem::Requirement
61
+ requirement: &76562100 !ruby/object:Gem::Requirement
51
62
  none: false
52
63
  requirements:
53
64
  - - ~>
@@ -55,10 +66,10 @@ dependencies:
55
66
  version: 1.5.3
56
67
  type: :runtime
57
68
  prerelease: false
58
- version_requirements: *90061520
69
+ version_requirements: *76562100
59
70
  - !ruby/object:Gem::Dependency
60
71
  name: inherited_resources
61
- requirement: &90061290 !ruby/object:Gem::Requirement
72
+ requirement: &76561740 !ruby/object:Gem::Requirement
62
73
  none: false
63
74
  requirements:
64
75
  - - ~>
@@ -66,10 +77,10 @@ dependencies:
66
77
  version: 1.3.0
67
78
  type: :runtime
68
79
  prerelease: false
69
- version_requirements: *90061290
80
+ version_requirements: *76561740
70
81
  - !ruby/object:Gem::Dependency
71
82
  name: stringex
72
- requirement: &90061060 !ruby/object:Gem::Requirement
83
+ requirement: &76560960 !ruby/object:Gem::Requirement
73
84
  none: false
74
85
  requirements:
75
86
  - - ~>
@@ -77,10 +88,10 @@ dependencies:
77
88
  version: 1.3.0
78
89
  type: :runtime
79
90
  prerelease: false
80
- version_requirements: *90061060
91
+ version_requirements: *76560960
81
92
  - !ruby/object:Gem::Dependency
82
93
  name: avatars_for_rails
83
- requirement: &90060830 !ruby/object:Gem::Requirement
94
+ requirement: &76560510 !ruby/object:Gem::Requirement
84
95
  none: false
85
96
  requirements:
86
97
  - - ~>
@@ -88,10 +99,10 @@ dependencies:
88
99
  version: 0.2.5
89
100
  type: :runtime
90
101
  prerelease: false
91
- version_requirements: *90060830
102
+ version_requirements: *76560510
92
103
  - !ruby/object:Gem::Dependency
93
104
  name: jquery-rails
94
- requirement: &90060600 !ruby/object:Gem::Requirement
105
+ requirement: &76560110 !ruby/object:Gem::Requirement
95
106
  none: false
96
107
  requirements:
97
108
  - - ! '>='
@@ -99,10 +110,10 @@ dependencies:
99
110
  version: 1.0.9
100
111
  type: :runtime
101
112
  prerelease: false
102
- version_requirements: *90060600
113
+ version_requirements: *76560110
103
114
  - !ruby/object:Gem::Dependency
104
115
  name: cancan
105
- requirement: &90060370 !ruby/object:Gem::Requirement
116
+ requirement: &76576230 !ruby/object:Gem::Requirement
106
117
  none: false
107
118
  requirements:
108
119
  - - ~>
@@ -110,10 +121,10 @@ dependencies:
110
121
  version: 1.6.4
111
122
  type: :runtime
112
123
  prerelease: false
113
- version_requirements: *90060370
124
+ version_requirements: *76576230
114
125
  - !ruby/object:Gem::Dependency
115
126
  name: kaminari
116
- requirement: &90060140 !ruby/object:Gem::Requirement
127
+ requirement: &76575770 !ruby/object:Gem::Requirement
117
128
  none: false
118
129
  requirements:
119
130
  - - ~>
@@ -121,10 +132,10 @@ dependencies:
121
132
  version: 0.13.0
122
133
  type: :runtime
123
134
  prerelease: false
124
- version_requirements: *90060140
135
+ version_requirements: *76575770
125
136
  - !ruby/object:Gem::Dependency
126
137
  name: omniauth
127
- requirement: &90059910 !ruby/object:Gem::Requirement
138
+ requirement: &76575140 !ruby/object:Gem::Requirement
128
139
  none: false
129
140
  requirements:
130
141
  - - ~>
@@ -132,10 +143,10 @@ dependencies:
132
143
  version: 1.0.2
133
144
  type: :runtime
134
145
  prerelease: false
135
- version_requirements: *90059910
146
+ version_requirements: *76575140
136
147
  - !ruby/object:Gem::Dependency
137
148
  name: omniauth-facebook
138
- requirement: &90059680 !ruby/object:Gem::Requirement
149
+ requirement: &76574800 !ruby/object:Gem::Requirement
139
150
  none: false
140
151
  requirements:
141
152
  - - ~>
@@ -143,10 +154,10 @@ dependencies:
143
154
  version: 1.2.0
144
155
  type: :runtime
145
156
  prerelease: false
146
- version_requirements: *90059680
157
+ version_requirements: *76574800
147
158
  - !ruby/object:Gem::Dependency
148
159
  name: omniauth-linkedin
149
- requirement: &90059450 !ruby/object:Gem::Requirement
160
+ requirement: &76574450 !ruby/object:Gem::Requirement
150
161
  none: false
151
162
  requirements:
152
163
  - - ~>
@@ -154,10 +165,10 @@ dependencies:
154
165
  version: 0.0.6
155
166
  type: :runtime
156
167
  prerelease: false
157
- version_requirements: *90059450
168
+ version_requirements: *76574450
158
169
  - !ruby/object:Gem::Dependency
159
170
  name: mailboxer
160
- requirement: &90059220 !ruby/object:Gem::Requirement
171
+ requirement: &76574010 !ruby/object:Gem::Requirement
161
172
  none: false
162
173
  requirements:
163
174
  - - ~>
@@ -165,10 +176,10 @@ dependencies:
165
176
  version: 0.6.5
166
177
  type: :runtime
167
178
  prerelease: false
168
- version_requirements: *90059220
179
+ version_requirements: *76574010
169
180
  - !ruby/object:Gem::Dependency
170
181
  name: acts-as-taggable-on
171
- requirement: &90058990 !ruby/object:Gem::Requirement
182
+ requirement: &76573630 !ruby/object:Gem::Requirement
172
183
  none: false
173
184
  requirements:
174
185
  - - ~>
@@ -176,10 +187,10 @@ dependencies:
176
187
  version: 2.2.2
177
188
  type: :runtime
178
189
  prerelease: false
179
- version_requirements: *90058990
190
+ version_requirements: *76573630
180
191
  - !ruby/object:Gem::Dependency
181
192
  name: formtastic
182
- requirement: &90058760 !ruby/object:Gem::Requirement
193
+ requirement: &76573380 !ruby/object:Gem::Requirement
183
194
  none: false
184
195
  requirements:
185
196
  - - ~>
@@ -187,10 +198,10 @@ dependencies:
187
198
  version: 1.2.3
188
199
  type: :runtime
189
200
  prerelease: false
190
- version_requirements: *90058760
201
+ version_requirements: *76573380
191
202
  - !ruby/object:Gem::Dependency
192
203
  name: resque
193
- requirement: &90058530 !ruby/object:Gem::Requirement
204
+ requirement: &76573110 !ruby/object:Gem::Requirement
194
205
  none: false
195
206
  requirements:
196
207
  - - ~>
@@ -198,10 +209,10 @@ dependencies:
198
209
  version: 1.20.0
199
210
  type: :runtime
200
211
  prerelease: false
201
- version_requirements: *90058530
212
+ version_requirements: *76573110
202
213
  - !ruby/object:Gem::Dependency
203
214
  name: modernizr-rails
204
- requirement: &90058300 !ruby/object:Gem::Requirement
215
+ requirement: &76572830 !ruby/object:Gem::Requirement
205
216
  none: false
206
217
  requirements:
207
218
  - - ~>
@@ -209,10 +220,10 @@ dependencies:
209
220
  version: 2.0.6
210
221
  type: :runtime
211
222
  prerelease: false
212
- version_requirements: *90058300
223
+ version_requirements: *76572830
213
224
  - !ruby/object:Gem::Dependency
214
225
  name: thinking-sphinx
215
- requirement: &90058070 !ruby/object:Gem::Requirement
226
+ requirement: &76572570 !ruby/object:Gem::Requirement
216
227
  none: false
217
228
  requirements:
218
229
  - - ~>
@@ -220,10 +231,10 @@ dependencies:
220
231
  version: 2.0.8
221
232
  type: :runtime
222
233
  prerelease: false
223
- version_requirements: *90058070
234
+ version_requirements: *76572570
224
235
  - !ruby/object:Gem::Dependency
225
236
  name: sass-rails
226
- requirement: &90057840 !ruby/object:Gem::Requirement
237
+ requirement: &76572310 !ruby/object:Gem::Requirement
227
238
  none: false
228
239
  requirements:
229
240
  - - ! '>='
@@ -231,10 +242,10 @@ dependencies:
231
242
  version: 3.1.0
232
243
  type: :runtime
233
244
  prerelease: false
234
- version_requirements: *90057840
245
+ version_requirements: *76572310
235
246
  - !ruby/object:Gem::Dependency
236
247
  name: rails_autolink
237
- requirement: &90073990 !ruby/object:Gem::Requirement
248
+ requirement: &76572050 !ruby/object:Gem::Requirement
238
249
  none: false
239
250
  requirements:
240
251
  - - ~>
@@ -242,10 +253,10 @@ dependencies:
242
253
  version: 1.0.4
243
254
  type: :runtime
244
255
  prerelease: false
245
- version_requirements: *90073990
256
+ version_requirements: *76572050
246
257
  - !ruby/object:Gem::Dependency
247
258
  name: social_cheesecake
248
- requirement: &90073760 !ruby/object:Gem::Requirement
259
+ requirement: &76571790 !ruby/object:Gem::Requirement
249
260
  none: false
250
261
  requirements:
251
262
  - - ~>
@@ -253,10 +264,10 @@ dependencies:
253
264
  version: 0.4.0
254
265
  type: :runtime
255
266
  prerelease: false
256
- version_requirements: *90073760
267
+ version_requirements: *76571790
257
268
  - !ruby/object:Gem::Dependency
258
269
  name: i18n-js
259
- requirement: &90073530 !ruby/object:Gem::Requirement
270
+ requirement: &76571530 !ruby/object:Gem::Requirement
260
271
  none: false
261
272
  requirements:
262
273
  - - ~>
@@ -264,10 +275,10 @@ dependencies:
264
275
  version: 2.1.2
265
276
  type: :runtime
266
277
  prerelease: false
267
- version_requirements: *90073530
278
+ version_requirements: *76571530
268
279
  - !ruby/object:Gem::Dependency
269
280
  name: capybara
270
- requirement: &90073300 !ruby/object:Gem::Requirement
281
+ requirement: &76571270 !ruby/object:Gem::Requirement
271
282
  none: false
272
283
  requirements:
273
284
  - - ~>
@@ -275,10 +286,10 @@ dependencies:
275
286
  version: 0.3.9
276
287
  type: :development
277
288
  prerelease: false
278
- version_requirements: *90073300
289
+ version_requirements: *76571270
279
290
  - !ruby/object:Gem::Dependency
280
291
  name: sqlite3-ruby
281
- requirement: &90073110 !ruby/object:Gem::Requirement
292
+ requirement: &76571070 !ruby/object:Gem::Requirement
282
293
  none: false
283
294
  requirements:
284
295
  - - ! '>='
@@ -286,10 +297,10 @@ dependencies:
286
297
  version: '0'
287
298
  type: :development
288
299
  prerelease: false
289
- version_requirements: *90073110
300
+ version_requirements: *76571070
290
301
  - !ruby/object:Gem::Dependency
291
- name: ruby-debug19
292
- requirement: &90072870 !ruby/object:Gem::Requirement
302
+ name: debugger
303
+ requirement: &76570800 !ruby/object:Gem::Requirement
293
304
  none: false
294
305
  requirements:
295
306
  - - ! '>='
@@ -297,10 +308,10 @@ dependencies:
297
308
  version: '0'
298
309
  type: :development
299
310
  prerelease: false
300
- version_requirements: *90072870
311
+ version_requirements: *76570800
301
312
  - !ruby/object:Gem::Dependency
302
313
  name: rspec-rails
303
- requirement: &90072620 !ruby/object:Gem::Requirement
314
+ requirement: &76570530 !ruby/object:Gem::Requirement
304
315
  none: false
305
316
  requirements:
306
317
  - - ~>
@@ -308,10 +319,10 @@ dependencies:
308
319
  version: 2.6.1
309
320
  type: :development
310
321
  prerelease: false
311
- version_requirements: *90072620
322
+ version_requirements: *76570530
312
323
  - !ruby/object:Gem::Dependency
313
324
  name: factory_girl
314
- requirement: &90072370 !ruby/object:Gem::Requirement
325
+ requirement: &76570200 !ruby/object:Gem::Requirement
315
326
  none: false
316
327
  requirements:
317
328
  - - ~>
@@ -319,10 +330,10 @@ dependencies:
319
330
  version: 1.3.2
320
331
  type: :development
321
332
  prerelease: false
322
- version_requirements: *90072370
333
+ version_requirements: *76570200
323
334
  - !ruby/object:Gem::Dependency
324
335
  name: forgery
325
- requirement: &90072140 !ruby/object:Gem::Requirement
336
+ requirement: &76569330 !ruby/object:Gem::Requirement
326
337
  none: false
327
338
  requirements:
328
339
  - - ~>
@@ -330,10 +341,10 @@ dependencies:
330
341
  version: 0.4.2
331
342
  type: :development
332
343
  prerelease: false
333
- version_requirements: *90072140
344
+ version_requirements: *76569330
334
345
  - !ruby/object:Gem::Dependency
335
346
  name: ci_reporter
336
- requirement: &90071910 !ruby/object:Gem::Requirement
347
+ requirement: &76568700 !ruby/object:Gem::Requirement
337
348
  none: false
338
349
  requirements:
339
350
  - - ~>
@@ -341,10 +352,10 @@ dependencies:
341
352
  version: 1.6.4
342
353
  type: :development
343
354
  prerelease: false
344
- version_requirements: *90071910
355
+ version_requirements: *76568700
345
356
  - !ruby/object:Gem::Dependency
346
357
  name: nifty-generators
347
- requirement: &90071680 !ruby/object:Gem::Requirement
358
+ requirement: &76568320 !ruby/object:Gem::Requirement
348
359
  none: false
349
360
  requirements:
350
361
  - - ~>
@@ -352,7 +363,7 @@ dependencies:
352
363
  version: 0.4.5
353
364
  type: :development
354
365
  prerelease: false
355
- version_requirements: *90071680
366
+ version_requirements: *76568320
356
367
  description: ! 'Social Stream is a Ruby on Rails engine providing your application
357
368
  with social networking features and activity streams.
358
369
 
@@ -835,6 +846,7 @@ files:
835
846
  - app/views/relation/customs/index.html.erb
836
847
  - app/views/relation/customs/update.js.erb
837
848
  - app/views/search/_extended_search.html.erb
849
+ - app/views/search/_extended_tab.html.erb
838
850
  - app/views/search/_form.html.erb
839
851
  - app/views/search/_header_search.html.erb
840
852
  - app/views/search/_index.html.erb
@@ -891,6 +903,34 @@ files:
891
903
  - lib/generators/social_stream/base/templates/sphinx.yml
892
904
  - lib/i18n-js/social_stream-base.rb
893
905
  - lib/inherited_resources/social_stream.rb
906
+ - lib/logos/groups/1.jpg
907
+ - lib/logos/groups/10.jpg
908
+ - lib/logos/groups/11.jpg
909
+ - lib/logos/groups/12.jpg
910
+ - lib/logos/groups/2.jpg
911
+ - lib/logos/groups/3.jpg
912
+ - lib/logos/groups/4.jpg
913
+ - lib/logos/groups/5.jpg
914
+ - lib/logos/groups/6.jpg
915
+ - lib/logos/groups/7.jpg
916
+ - lib/logos/groups/8.jpg
917
+ - lib/logos/groups/9.jpg
918
+ - lib/logos/partners/1.jpg
919
+ - lib/logos/partners/1.png
920
+ - lib/logos/partners/2.jpg
921
+ - lib/logos/partners/2.png
922
+ - lib/logos/users/1.jpg
923
+ - lib/logos/users/10.jpg
924
+ - lib/logos/users/11.jpg
925
+ - lib/logos/users/12.jpg
926
+ - lib/logos/users/2.jpg
927
+ - lib/logos/users/3.jpg
928
+ - lib/logos/users/4.jpg
929
+ - lib/logos/users/5.jpg
930
+ - lib/logos/users/6.jpg
931
+ - lib/logos/users/7.jpg
932
+ - lib/logos/users/8.jpg
933
+ - lib/logos/users/9.jpg
894
934
  - lib/paperclip/social_stream.rb
895
935
  - lib/rails/social_stream.rb
896
936
  - lib/social_stream-base.rb
@@ -914,10 +954,13 @@ files:
914
954
  - lib/social_stream/models/subject.rb
915
955
  - lib/social_stream/models/subtype.rb
916
956
  - lib/social_stream/models/supertype.rb
917
- - lib/social_stream/populate.rb
957
+ - lib/social_stream/population/activity_object.rb
958
+ - lib/social_stream/population/power_law.rb
959
+ - lib/social_stream/population/timestamps.rb
918
960
  - lib/social_stream/routing/constraints/custom.rb
919
961
  - lib/social_stream/routing/constraints/follow.rb
920
962
  - lib/social_stream/routing/constraints/resque.rb
963
+ - lib/social_stream/search.rb
921
964
  - lib/social_stream/test_helpers.rb
922
965
  - lib/social_stream/test_helpers/controllers.rb
923
966
  - lib/social_stream/views/list.rb
@@ -1071,9 +1114,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1071
1114
  version: '0'
1072
1115
  requirements: []
1073
1116
  rubyforge_project:
1074
- rubygems_version: 1.8.12
1117
+ rubygems_version: 1.8.15
1075
1118
  signing_key:
1076
1119
  specification_version: 3
1077
1120
  summary: Basic features for Social Stream, the core for building social network websites
1078
1121
  test_files: []
1079
- has_rdoc: