social_stream-base 0.10.9 → 0.10.10

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -4,6 +4,7 @@ source "http://rubygems.org"
4
4
  # use a local code of mailboxer or avatar_for_rails gems
5
5
  #
6
6
  # gem 'mailboxer', :path => '../mailboxer'
7
+ # gem 'social_cheesecake', :path => '../../SocialCheesecake/social_cheesecake'
7
8
  # gem 'avatars_for_rails', :path => '../avatars_for_rails'
8
9
 
9
10
  gemspec
@@ -0,0 +1,6 @@
1
+ window.requestAnimFrame = (function(callback) {
2
+ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame ||
3
+ function(callback) {
4
+ window.setTimeout(callback, 1000 / 60);
5
+ };
6
+ })();
@@ -6,5 +6,6 @@
6
6
  //= require jquery.screw
7
7
  //
8
8
  //= require avatars_for_rails
9
+ //= require social_cheesecake
9
10
  //
10
11
  //= require_tree .
@@ -0,0 +1,55 @@
1
+ @import "colors";
2
+
3
+ #cheesecake {
4
+ position: relative;
5
+ padding: 20px;
6
+ }
7
+ #contacts_cheesecake {
8
+ width: 440px;
9
+ height: 440px;
10
+ padding: 0px;
11
+ float: left;
12
+ }
13
+ #contacts_filter {
14
+ width: 290px;
15
+ height: 64px;
16
+ position: relative;
17
+ float: left;
18
+ padding: 5px;
19
+ }
20
+
21
+ #cheesecake #contacts_filter #contacts_filter_input {
22
+ padding: 0 3px 0 22px;
23
+ background: url('btn/search_icon.png') 5px 50% no-repeat white;
24
+ font-size: 11px;
25
+ color: $main-color;
26
+ border: solid 1px $input-border-color;
27
+ height: 25px;
28
+ width: 200px;
29
+ margin-left: 26px;
30
+ margin-top: 18px;
31
+ }
32
+
33
+ #contacts_grid {
34
+ width: 300px;
35
+ height: 370px;
36
+ overflow: hidden;
37
+ position: relative;
38
+ float: left;
39
+ }
40
+ #contacts_grid .actor {
41
+ width: 64px;
42
+ height: 64px;
43
+ float: left;
44
+ margin: 5px;
45
+ }
46
+ #contacts_grid .actor.focused {
47
+ border: 2px solid #00F;
48
+ background-color: #006;
49
+ margin: 3px;
50
+ }
51
+ #contacts_grid .actor img {
52
+ width: 64px;
53
+ height: 64px;
54
+ }
55
+
@@ -0,0 +1,9 @@
1
+ class CheesecakeController < ApplicationController
2
+
3
+ before_filter :authenticate_user!
4
+
5
+ def index
6
+ @actors = current_subject.contact_actors(:direction => :sent)
7
+ end
8
+
9
+ end
data/app/models/actor.rb CHANGED
@@ -499,6 +499,16 @@ class Actor < ActiveRecord::Base
499
499
  slug
500
500
  end
501
501
 
502
+ # JSON compatible with SocialCheesecake
503
+ def cheesecake_json
504
+ {
505
+ :sectors =>
506
+ relation_customs.includes(:ties => :contact).map { |r|
507
+ r.to_cheesecake_hash
508
+ }
509
+ }.to_json
510
+ end
511
+
502
512
  private
503
513
 
504
514
  # After create callback
@@ -96,4 +96,17 @@ class Relation::Custom < Relation
96
96
  def stronger_or_equal
97
97
  path
98
98
  end
99
+
100
+ # JSON compatible with SocialCheesecake
101
+ def to_cheesecake_hash(options = {})
102
+ { :name => name }.tap do |hash|
103
+ if options[:subsector]
104
+ hash[:actors] = ties.map{ |t| [t.contact.receiver_id] }.uniq
105
+ else
106
+ hash[:subsectors] = ( weaker.present? ?
107
+ weaker.map{ |w| w.to_cheesecake_hash(:subsector => true) } :
108
+ Array.wrap(to_cheesecake_hash(:subsector => true)) )
109
+ end
110
+ end
111
+ end
99
112
  end
@@ -0,0 +1,4 @@
1
+ <%= div_for actor do %>
2
+ <%= image_tag(actor.logo.url , :size => "64x64", :alt => actor.name ) %>
3
+ <% end %>
4
+
@@ -0,0 +1,38 @@
1
+ <div id="cheesecake">
2
+ <div id="contacts_cheesecake"></div>
3
+ <div id="contacts_filter">
4
+ <%= text_field_tag :filter_query, nil,:autocomplete => :off, :id => :contacts_filter_input %>
5
+ </div>
6
+ <div id="contacts_grid">
7
+
8
+ <% @actors.each do |actor|%>
9
+ <%= render :partial => "actors/actor_cheesecake", :locals => {:actor => actor} %>
10
+ <% end %>
11
+ </div>
12
+ <br class="clearfloat">
13
+ <%= javascript_tag do %>
14
+ $(function(){
15
+ $("#center_body").css("width","782px");
16
+ $("#center_body").css("max-width","782px");
17
+ $("#content").css("width","782px");
18
+ $("#contacts_filter_input").Watermark("<%= escape_javascript(I18n.t('search.name')) %>");
19
+ });
20
+ window.onload = function() {
21
+ var cheesecakeData = {
22
+ container: {
23
+ id: "contacts_cheesecake",
24
+ width: 440,
25
+ height: 440
26
+ },
27
+ grid: {
28
+ id: "contacts_grid",
29
+ divIdPrefix: "actor_"
30
+ },
31
+ rMax : 200,
32
+ center: {x : 220, y : 220}
33
+ };
34
+ cheesecakeData.sectors = <%= raw(current_subject.cheesecake_json) %>.sectors;
35
+ var cheese = new socialCheesecake.Cheesecake(cheesecakeData);
36
+ }
37
+ <% end %>
38
+ </div>
@@ -0,0 +1,10 @@
1
+ <% content_for :title do%>
2
+ <%= t('contact.other')%>
3
+ <%end%>
4
+
5
+ <% toolbar :option => :contacts %>
6
+
7
+ <% location link_to(t("contact.other"),contacts_path) %>
8
+ <%= render :partial => "index"%>
9
+
10
+ <div class="space_center"></div>
data/config/routes.rb CHANGED
@@ -84,6 +84,8 @@ Rails.application.routes.draw do
84
84
 
85
85
  match 'search' => 'search#index', :as => :search
86
86
 
87
+ match 'cheesecake' => 'cheesecake#index', :as => :cheesecake
88
+
87
89
  match 'ties' => 'ties#index', :as => :ties
88
90
 
89
91
 
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Base
3
- VERSION = "0.10.9".freeze
3
+ VERSION = "0.10.10".freeze
4
4
  end
5
5
  end
@@ -12,10 +12,18 @@ namespace :db do
12
12
 
13
13
  LOGOS_PATH = File.join(Rails.root, 'lib', 'logos')
14
14
  USERS = (ENV["USERS"] || 9).to_i
15
- GROUPS = (ENV["GROUPS"] || 10).to_i
15
+ GROUPS = (ENV["GROUPS"] || 10).to_i
16
+ CHEESECAKE_TESTING = (ENV["CHEESECAKE_TESTING"].present? || false)
17
+ if CHEESECAKE_TESTING
18
+ puts "Cheesecake Testing mode: ON"
19
+ end
16
20
  if ENV["HARDCORE"].present?
17
21
  USERS = 999
18
22
  GROUPS = 1000
23
+ puts "Hardcore mode: ON (May the Force be with you brave Padawan)"
24
+ if CHEESECAKE_TESTING
25
+ puts "WARNING: Hardcore and Cheesecake Modes activated. This situation is really slow. Please, avoid it."
26
+ end
19
27
  end
20
28
  if USERS < 9
21
29
  USERS = 9
@@ -110,105 +118,115 @@ namespace :db do
110
118
  # = Ties
111
119
  available_actors.each do |a|
112
120
  actors = available_actors.dup - Array(a)
113
- relations = a.relations
121
+ relations = a.relation_customs + Array.wrap(a.relation_reject)
114
122
  break if actors.size==0
115
123
  Forgery::Basic.number(:at_most => actors.size).times do
116
124
  actor = actors.delete_at((rand * actors.size).to_i)
117
125
  a.contact_to!(actor).relation_ids = Array(Forgery::Extensions::Array.new(relations).random.id)
118
126
  end
127
+ if CHEESECAKE_TESTING
128
+ actor = Actor.first
129
+ puts a.name + " connecting with " + actor.name
130
+ a.contact_to!(actor).relation_ids = Array(Forgery::Extensions::Array.new(relations).random.id)
131
+ end
119
132
  end
120
133
 
121
134
  ties_end = Time.now
122
135
  puts ' -> ' + (ties_end - ties_start).round(4).to_s + 's'
123
136
 
124
137
  # = Posts
125
-
126
138
  puts 'Post population'
127
- posts_start = Time.now
128
-
129
- SocialStream::Populate.power_law(Tie.all) do |t|
130
- updated = Time.at(rand(Time.now.to_i))
131
-
132
- author = t.sender
133
- owner = t.receiver
134
- user_author = ( t.sender.subject_type == "User" ? t.sender : t.sender.user_author )
135
-
136
- p = Post.create :text =>
137
- "This post should be for #{ t.relation.name } of #{ t.sender.name }.\n#{ Forgery::LoremIpsum.paragraph(:random => true) }",
138
- :created_at => Time.at(rand(updated.to_i)),
139
- :updated_at => updated,
140
- :author_id => author.id,
141
- :owner_id => owner.id,
142
- :user_author_id => user_author.id,
143
- :_relation_ids => Array(t.relation_id)
144
-
145
- p.post_activity.update_attributes(:created_at => p.created_at,
146
- :updated_at => p.updated_at)
139
+ unless CHEESECAKE_TESTING
140
+ posts_start = Time.now
141
+
142
+ SocialStream::Populate.power_law(Tie.all) do |t|
143
+ updated = Time.at(rand(Time.now.to_i))
144
+
145
+ author = t.sender
146
+ owner = t.receiver
147
+ user_author = ( t.sender.subject_type == "User" ? t.sender : t.sender.user_author )
148
+
149
+ p = Post.create :text =>
150
+ "This post sActorhould be for #{ t.relation.name } of #{ t.sender.name }.\n#{ Forgery::LoremIpsum.paragraph(:random => true) }",
151
+ :created_at => Time.at(rand(updated.to_i)),
152
+ :updated_at => updated,
153
+ :author_id => author.id,
154
+ :owner_id => owner.id,
155
+ :user_author_id => user_author.id,
156
+ :_relation_ids => Array(t.relation_id)
157
+
158
+ p.post_activity.update_attributes(:created_at => p.created_at,
159
+ :updated_at => p.updated_at)
160
+ end
161
+
162
+ posts_end = Time.now
163
+ puts ' -> ' + (posts_end - posts_start).round(4).to_s + 's'
164
+ else
165
+ puts ' -> Cheesecake Testing Mode. Avoiding Post Population.'
147
166
  end
148
167
 
149
- posts_end = Time.now
150
- puts ' -> ' + (posts_end - posts_start).round(4).to_s + 's'
151
-
168
+ # = Mailboxer
152
169
  puts 'Mailboxer population'
153
- mailboxer_start = Time.now
154
-
155
- # = Mailboxer
156
- available_actors = Actor.all
157
-
158
- available_actors.each do |a|
159
- actors = available_actors.dup - Array(a)
160
-
161
- mult_recp = actors.uniq
162
- if (demo = User.find_by_name('demo')) and !mult_recp.include? Actor.normalize(demo)
163
- mult_recp << Actor.normalize(demo)
164
- end
165
- actor = mult_recp[(rand * mult_recp.size).to_i]
166
- mult_recp.delete(actor)
167
- mail = actor.send_message(mult_recp, "Hello all, I am #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}", Forgery::LoremIpsum.words(10,:random => true))
168
- actor = mult_recp[(rand * mult_recp.size).to_i]
169
- mail = actor.reply_to_all(mail, "Well, I am #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
170
- actor = mult_recp[(rand * mult_recp.size).to_i]
171
- mail = actor.reply_to_all(mail, "Ok, I am #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
172
- actor = mult_recp[(rand * mult_recp.size).to_i]
173
- mail = actor.reply_to_all(mail, "Pretty well, I am #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
174
- actor = mult_recp[(rand * mult_recp.size).to_i]
175
- actor.reply_to_all(mail, "Finally, I am #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
176
-
177
-
178
- if (demo = User.find_by_name('demo'))
179
- next if Actor.normalize(demo)==Actor.normalize(a)
180
- mail = a.send_message(demo, "Hello, #{demo.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}", Forgery::LoremIpsum.words(10,:random => true))
181
- if rand > 0.5
182
- mail = demo.reply_to_sender(mail, "Pretty well #{a.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
170
+ unless CHEESECAKE_TESTING
171
+ mailboxer_start = Time.now
172
+ available_actors = Actor.all
173
+
174
+ available_actors.each do |a|
175
+ actors = available_actors.dup - Array(a)
176
+
177
+ mult_recp = actors.uniq
178
+ if (demo = User.find_by_name('demo')) and !mult_recp.include? Actor.normalize(demo)
179
+ mult_recp << Actor.normalize(demo)
180
+ end
181
+ actor = mult_recp[(rand * mult_recp.size).to_i]
182
+ mult_recp.delete(actor)
183
+ mail = actor.send_message(mult_recp, "Hello all, I am #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}", Forgery::LoremIpsum.words(10,:random => true))
184
+ actor = mult_recp[(rand * mult_recp.size).to_i]
185
+ mail = actor.reply_to_all(mail, "Well, I am #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
186
+ actor = mult_recp[(rand * mult_recp.size).to_i]
187
+ mail = actor.reply_to_all(mail, "Ok, I am #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
188
+ actor = mult_recp[(rand * mult_recp.size).to_i]
189
+ mail = actor.reply_to_all(mail, "Pretty well, I am #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
190
+ actor = mult_recp[(rand * mult_recp.size).to_i]
191
+ actor.reply_to_all(mail, "Finally, I am #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
192
+
193
+
194
+ if (demo = User.find_by_name('demo'))
195
+ next if Actor.normalize(demo)==Actor.normalize(a)
196
+ mail = a.send_message(demo, "Hello, #{demo.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}", Forgery::LoremIpsum.words(10,:random => true))
183
197
  if rand > 0.5
184
- a.reply_to_sender(mail, "Ok #{demo.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
198
+ mail = demo.reply_to_sender(mail, "Pretty well #{a.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
199
+ if rand > 0.5
200
+ a.reply_to_sender(mail, "Ok #{demo.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
201
+ end
202
+ end
203
+ if rand > 0.75
204
+ mail.conversation.move_to_trash(demo)
185
205
  end
186
206
  end
187
- if rand > 0.75
188
- mail.conversation.move_to_trash(demo)
189
- end
190
- end
191
-
192
- Forgery::Basic.number(:at_most => actors.size).times do
193
- actor = actors.delete_at((rand * actors.size).to_i)
194
- next if Actor.normalize(actor)==Actor.normalize(a)
195
- mail = a.send_message(actor, "Hello, #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}", Forgery::LoremIpsum.words(10,:random => true))
196
- if rand > 0.5
197
- mail = actor.reply_to_sender(mail, "Pretty well #{a.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
207
+
208
+ Forgery::Basic.number(:at_most => actors.size).times do
209
+ actor = actors.delete_at((rand * actors.size).to_i)
210
+ next if Actor.normalize(actor)==Actor.normalize(a)
211
+ mail = a.send_message(actor, "Hello, #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}", Forgery::LoremIpsum.words(10,:random => true))
198
212
  if rand > 0.5
199
- a.reply_to_sender(mail, "Ok #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
213
+ mail = actor.reply_to_sender(mail, "Pretty well #{a.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
214
+ if rand > 0.5
215
+ a.reply_to_sender(mail, "Ok #{actor.name}. #{Forgery::LoremIpsum.sentences(2,:random => true)}")
216
+ end
217
+ end
218
+ if rand > 0.75
219
+ mail.conversation.move_to_trash(actor)
200
220
  end
201
- end
202
- if rand > 0.75
203
- mail.conversation.move_to_trash(actor)
204
221
  end
205
222
  end
223
+
224
+ mailboxer_end = Time.now
225
+ puts ' -> ' + (mailboxer_end - mailboxer_start).round(4).to_s + 's'
226
+ else
227
+ puts ' -> Cheesecake Testing Mode. Avoiding Mailboxer Population.'
206
228
  end
207
229
 
208
- mailboxer_end = Time.now
209
- puts ' -> ' + (mailboxer_end - mailboxer_start).round(4).to_s + 's'
210
-
211
-
212
230
 
213
231
  puts 'Avatar population'
214
232
  avatar_start = Time.now
@@ -42,7 +42,7 @@ Gem::Specification.new do |s|
42
42
  # HTML Forms
43
43
  s.add_runtime_dependency('formtastic','~> 1.2.3')
44
44
  # Simple navigation for menu
45
- s.add_runtime_dependency('simple-navigation')
45
+ s.add_runtime_dependency('simple-navigation', '~> 3.5.1')
46
46
  # Background jobs
47
47
  s.add_runtime_dependency('resque','~> 1.19.0')
48
48
  # Modernizr.js javascript library
@@ -53,6 +53,8 @@ Gem::Specification.new do |s|
53
53
  s.add_runtime_dependency('sass-rails', '~> 3.1.0')
54
54
  # Autolink text blocks
55
55
  s.add_runtime_dependency('rails_autolink', '~> 1.0.4')
56
+ # SocialCheesecake
57
+ s.add_runtime_dependency('social_cheesecake','~> 0.0.1')
56
58
 
57
59
  # Development gem dependencies
58
60
  #
@@ -48,4 +48,33 @@ describe Actor do
48
48
 
49
49
  Actor.find_by_id(a.id).should be_nil
50
50
  end
51
+
52
+ context "cheesecake" do
53
+ before do
54
+ @user = Factory(:user)
55
+ end
56
+
57
+ it "should build json" do
58
+ hash = {
59
+ :sectors => @user.relation_customs.map do |r|
60
+ { :name => r.name,
61
+ :subsectors => [ { :name => r.name, :actors => [] } ]
62
+ }
63
+ end
64
+ }
65
+
66
+ @user.cheesecake_json.should eq(hash.to_json)
67
+ end
68
+
69
+ context "with tie" do
70
+ before do
71
+ @tie =
72
+ Factory(:friend, :contact => Factory(:contact, :sender => @user.actor))
73
+ end
74
+
75
+ it "should render json" do
76
+ @user.cheesecake_json.should include(@tie.receiver.id.to_s)
77
+ end
78
+ end
79
+ end
51
80
  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.10.9
4
+ version: 0.10.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-12-16 00:00:00.000000000Z
13
+ date: 2011-12-19 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
17
- requirement: &77731060 !ruby/object:Gem::Requirement
17
+ requirement: &76518980 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 3.1.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *77731060
25
+ version_requirements: *76518980
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: ancestry
28
- requirement: &77730810 !ruby/object:Gem::Requirement
28
+ requirement: &76518710 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.2.3
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *77730810
36
+ version_requirements: *76518710
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: foreigner
39
- requirement: &77730580 !ruby/object:Gem::Requirement
39
+ requirement: &76518460 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.1.1
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *77730580
47
+ version_requirements: *76518460
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: devise
50
- requirement: &77730350 !ruby/object:Gem::Requirement
50
+ requirement: &76518170 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 1.4.5
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *77730350
58
+ version_requirements: *76518170
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: inherited_resources
61
- requirement: &77730120 !ruby/object:Gem::Requirement
61
+ requirement: &76517910 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 1.3.0
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *77730120
69
+ version_requirements: *76517910
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: stringex
72
- requirement: &77729890 !ruby/object:Gem::Requirement
72
+ requirement: &76517650 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 1.3.0
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *77729890
80
+ version_requirements: *76517650
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: avatars_for_rails
83
- requirement: &77729660 !ruby/object:Gem::Requirement
83
+ requirement: &76517360 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 0.2.0
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *77729660
91
+ version_requirements: *76517360
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: jquery-rails
94
- requirement: &77729430 !ruby/object:Gem::Requirement
94
+ requirement: &76517070 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ~>
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: 1.0.9
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *77729430
102
+ version_requirements: *76517070
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: cancan
105
- requirement: &77729200 !ruby/object:Gem::Requirement
105
+ requirement: &76516780 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ~>
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: 1.6.4
111
111
  type: :runtime
112
112
  prerelease: false
113
- version_requirements: *77729200
113
+ version_requirements: *76516780
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: kaminari
116
- requirement: &77728970 !ruby/object:Gem::Requirement
116
+ requirement: &76516520 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ~>
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: 0.12.4
122
122
  type: :runtime
123
123
  prerelease: false
124
- version_requirements: *77728970
124
+ version_requirements: *76516520
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: omniauth
127
- requirement: &77762940 !ruby/object:Gem::Requirement
127
+ requirement: &76516260 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ~>
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: 0.2.6
133
133
  type: :runtime
134
134
  prerelease: false
135
- version_requirements: *77762940
135
+ version_requirements: *76516260
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: mailboxer
138
- requirement: &77762710 !ruby/object:Gem::Requirement
138
+ requirement: &76515970 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ~>
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: 0.5.4
144
144
  type: :runtime
145
145
  prerelease: false
146
- version_requirements: *77762710
146
+ version_requirements: *76515970
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: acts-as-taggable-on
149
- requirement: &77762480 !ruby/object:Gem::Requirement
149
+ requirement: &76515690 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - ~>
@@ -154,10 +154,10 @@ dependencies:
154
154
  version: 2.0.6
155
155
  type: :runtime
156
156
  prerelease: false
157
- version_requirements: *77762480
157
+ version_requirements: *76515690
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: formtastic
160
- requirement: &77762250 !ruby/object:Gem::Requirement
160
+ requirement: &76515400 !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
163
  - - ~>
@@ -165,21 +165,21 @@ dependencies:
165
165
  version: 1.2.3
166
166
  type: :runtime
167
167
  prerelease: false
168
- version_requirements: *77762250
168
+ version_requirements: *76515400
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: simple-navigation
171
- requirement: &77762060 !ruby/object:Gem::Requirement
171
+ requirement: &76515170 !ruby/object:Gem::Requirement
172
172
  none: false
173
173
  requirements:
174
- - - ! '>='
174
+ - - ~>
175
175
  - !ruby/object:Gem::Version
176
- version: '0'
176
+ version: 3.5.1
177
177
  type: :runtime
178
178
  prerelease: false
179
- version_requirements: *77762060
179
+ version_requirements: *76515170
180
180
  - !ruby/object:Gem::Dependency
181
181
  name: resque
182
- requirement: &77761790 !ruby/object:Gem::Requirement
182
+ requirement: &76514880 !ruby/object:Gem::Requirement
183
183
  none: false
184
184
  requirements:
185
185
  - - ~>
@@ -187,10 +187,10 @@ dependencies:
187
187
  version: 1.19.0
188
188
  type: :runtime
189
189
  prerelease: false
190
- version_requirements: *77761790
190
+ version_requirements: *76514880
191
191
  - !ruby/object:Gem::Dependency
192
192
  name: modernizr-rails
193
- requirement: &77761540 !ruby/object:Gem::Requirement
193
+ requirement: &76514590 !ruby/object:Gem::Requirement
194
194
  none: false
195
195
  requirements:
196
196
  - - ~>
@@ -198,10 +198,10 @@ dependencies:
198
198
  version: 2.0.6
199
199
  type: :runtime
200
200
  prerelease: false
201
- version_requirements: *77761540
201
+ version_requirements: *76514590
202
202
  - !ruby/object:Gem::Dependency
203
203
  name: thinking-sphinx
204
- requirement: &77761310 !ruby/object:Gem::Requirement
204
+ requirement: &76514300 !ruby/object:Gem::Requirement
205
205
  none: false
206
206
  requirements:
207
207
  - - ~>
@@ -209,10 +209,10 @@ dependencies:
209
209
  version: 2.0.8
210
210
  type: :runtime
211
211
  prerelease: false
212
- version_requirements: *77761310
212
+ version_requirements: *76514300
213
213
  - !ruby/object:Gem::Dependency
214
214
  name: sass-rails
215
- requirement: &77761080 !ruby/object:Gem::Requirement
215
+ requirement: &76514030 !ruby/object:Gem::Requirement
216
216
  none: false
217
217
  requirements:
218
218
  - - ~>
@@ -220,10 +220,10 @@ dependencies:
220
220
  version: 3.1.0
221
221
  type: :runtime
222
222
  prerelease: false
223
- version_requirements: *77761080
223
+ version_requirements: *76514030
224
224
  - !ruby/object:Gem::Dependency
225
225
  name: rails_autolink
226
- requirement: &77760850 !ruby/object:Gem::Requirement
226
+ requirement: &76513780 !ruby/object:Gem::Requirement
227
227
  none: false
228
228
  requirements:
229
229
  - - ~>
@@ -231,10 +231,21 @@ dependencies:
231
231
  version: 1.0.4
232
232
  type: :runtime
233
233
  prerelease: false
234
- version_requirements: *77760850
234
+ version_requirements: *76513780
235
+ - !ruby/object:Gem::Dependency
236
+ name: social_cheesecake
237
+ requirement: &76513430 !ruby/object:Gem::Requirement
238
+ none: false
239
+ requirements:
240
+ - - ~>
241
+ - !ruby/object:Gem::Version
242
+ version: 0.0.1
243
+ type: :runtime
244
+ prerelease: false
245
+ version_requirements: *76513430
235
246
  - !ruby/object:Gem::Dependency
236
247
  name: capybara
237
- requirement: &77760620 !ruby/object:Gem::Requirement
248
+ requirement: &76513180 !ruby/object:Gem::Requirement
238
249
  none: false
239
250
  requirements:
240
251
  - - ~>
@@ -242,10 +253,10 @@ dependencies:
242
253
  version: 0.3.9
243
254
  type: :development
244
255
  prerelease: false
245
- version_requirements: *77760620
256
+ version_requirements: *76513180
246
257
  - !ruby/object:Gem::Dependency
247
258
  name: sqlite3-ruby
248
- requirement: &77760430 !ruby/object:Gem::Requirement
259
+ requirement: &76512980 !ruby/object:Gem::Requirement
249
260
  none: false
250
261
  requirements:
251
262
  - - ! '>='
@@ -253,10 +264,10 @@ dependencies:
253
264
  version: '0'
254
265
  type: :development
255
266
  prerelease: false
256
- version_requirements: *77760430
267
+ version_requirements: *76512980
257
268
  - !ruby/object:Gem::Dependency
258
269
  name: ruby-debug19
259
- requirement: &77760190 !ruby/object:Gem::Requirement
270
+ requirement: &76512720 !ruby/object:Gem::Requirement
260
271
  none: false
261
272
  requirements:
262
273
  - - ! '>='
@@ -264,10 +275,10 @@ dependencies:
264
275
  version: '0'
265
276
  type: :development
266
277
  prerelease: false
267
- version_requirements: *77760190
278
+ version_requirements: *76512720
268
279
  - !ruby/object:Gem::Dependency
269
280
  name: rspec-rails
270
- requirement: &77759940 !ruby/object:Gem::Requirement
281
+ requirement: &76491040 !ruby/object:Gem::Requirement
271
282
  none: false
272
283
  requirements:
273
284
  - - ~>
@@ -275,10 +286,10 @@ dependencies:
275
286
  version: 2.6.1
276
287
  type: :development
277
288
  prerelease: false
278
- version_requirements: *77759940
289
+ version_requirements: *76491040
279
290
  - !ruby/object:Gem::Dependency
280
291
  name: factory_girl
281
- requirement: &77759690 !ruby/object:Gem::Requirement
292
+ requirement: &76490790 !ruby/object:Gem::Requirement
282
293
  none: false
283
294
  requirements:
284
295
  - - ~>
@@ -286,10 +297,10 @@ dependencies:
286
297
  version: 1.3.2
287
298
  type: :development
288
299
  prerelease: false
289
- version_requirements: *77759690
300
+ version_requirements: *76490790
290
301
  - !ruby/object:Gem::Dependency
291
302
  name: forgery
292
- requirement: &77759460 !ruby/object:Gem::Requirement
303
+ requirement: &76490560 !ruby/object:Gem::Requirement
293
304
  none: false
294
305
  requirements:
295
306
  - - ~>
@@ -297,10 +308,10 @@ dependencies:
297
308
  version: 0.4.2
298
309
  type: :development
299
310
  prerelease: false
300
- version_requirements: *77759460
311
+ version_requirements: *76490560
301
312
  - !ruby/object:Gem::Dependency
302
313
  name: ci_reporter
303
- requirement: &77759230 !ruby/object:Gem::Requirement
314
+ requirement: &76490330 !ruby/object:Gem::Requirement
304
315
  none: false
305
316
  requirements:
306
317
  - - ~>
@@ -308,10 +319,10 @@ dependencies:
308
319
  version: 1.6.4
309
320
  type: :development
310
321
  prerelease: false
311
- version_requirements: *77759230
322
+ version_requirements: *76490330
312
323
  - !ruby/object:Gem::Dependency
313
324
  name: nifty-generators
314
- requirement: &77759000 !ruby/object:Gem::Requirement
325
+ requirement: &76490100 !ruby/object:Gem::Requirement
315
326
  none: false
316
327
  requirements:
317
328
  - - ~>
@@ -319,7 +330,7 @@ dependencies:
319
330
  version: 0.4.5
320
331
  type: :development
321
332
  prerelease: false
322
- version_requirements: *77759000
333
+ version_requirements: *76490100
323
334
  description: ! 'Social Stream is a Ruby on Rails engine providing your application
324
335
  with social networking features and activity streams.
325
336
 
@@ -489,6 +500,7 @@ files:
489
500
  - app/assets/images/tipsy.gif
490
501
  - app/assets/javascripts/activities.js.erb
491
502
  - app/assets/javascripts/activities_security_chosen-modified.jquery.js
503
+ - app/assets/javascripts/cheesecake.js
492
504
  - app/assets/javascripts/contacts.js
493
505
  - app/assets/javascripts/conversations.js
494
506
  - app/assets/javascripts/groups.js
@@ -511,6 +523,7 @@ files:
511
523
  - app/assets/stylesheets/_colors.scss
512
524
  - app/assets/stylesheets/activities.css.scss
513
525
  - app/assets/stylesheets/base.css.scss
526
+ - app/assets/stylesheets/cheesecake.css.scss
514
527
  - app/assets/stylesheets/contacts.css.scss
515
528
  - app/assets/stylesheets/conversations.css
516
529
  - app/assets/stylesheets/footer.css.scss
@@ -550,6 +563,7 @@ files:
550
563
  - app/controllers/activities_controller.rb
551
564
  - app/controllers/api_controller.rb
552
565
  - app/controllers/authentications_controller.rb
566
+ - app/controllers/cheesecake_controller.rb
553
567
  - app/controllers/comments_controller.rb
554
568
  - app/controllers/contacts_controller.rb
555
569
  - app/controllers/conversations_controller.rb
@@ -618,9 +632,12 @@ files:
618
632
  - app/views/activities/index.js.erb
619
633
  - app/views/activity_objects/_activity_object.html.erb
620
634
  - app/views/actors/_actor.html.erb
635
+ - app/views/actors/_actor_cheesecake.html.erb
621
636
  - app/views/api/activity_atom_feed.atom.builder
622
637
  - app/views/avatars/index.html.erb
623
638
  - app/views/avatars/update.js.erb
639
+ - app/views/cheesecake/_index.html.erb
640
+ - app/views/cheesecake/index.html.erb
624
641
  - app/views/comments/_comment.html.erb
625
642
  - app/views/comments/_new.html.erb
626
643
  - app/views/comments/create.js.erb