social_stream 0.15.6 → 0.15.7

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/README.rdoc CHANGED
@@ -55,6 +55,7 @@ Current Social Stream distribution includes:
55
55
  * {Social Stream Documents}[https://github.com/ging/social_stream/tree/master/documents], support for
56
56
  activities on files
57
57
  * {Social Stream Events}[https://github.com/ging/social_stream/tree/master/events], videoconference events with an agenda and several sessions
58
+ * {Social Stream Linkser}[https://github.com/ging/social_stream/tree/master/linkser], advanced management of links to other webpages
58
59
 
59
60
  = Documentation
60
61
 
data/base/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
@@ -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>
@@ -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
@@ -1,3 +1,3 @@
1
1
  module SocialStream
2
- VERSION = "0.15.6".freeze
2
+ VERSION = "0.15.7".freeze
3
3
  end
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
11
11
  s.files = `git ls-files`.split("\n")
12
12
 
13
13
  # Gem dependencies
14
- s.add_runtime_dependency('social_stream-base', '~> 0.10.9')
14
+ s.add_runtime_dependency('social_stream-base', '~> 0.10.10')
15
15
  s.add_runtime_dependency('social_stream-documents', '~> 0.5.2')
16
16
  s.add_runtime_dependency('social_stream-events', '~> 0.2.0')
17
17
  s.add_runtime_dependency('social_stream-linkser', '~> 0.0.6')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_stream
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.6
4
+ version: 0.15.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,22 +10,22 @@ 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: social_stream-base
17
- requirement: &74507750 !ruby/object:Gem::Requirement
17
+ requirement: &74287040 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: 0.10.9
22
+ version: 0.10.10
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *74507750
25
+ version_requirements: *74287040
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: social_stream-documents
28
- requirement: &74507500 !ruby/object:Gem::Requirement
28
+ requirement: &74286790 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 0.5.2
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *74507500
36
+ version_requirements: *74286790
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: social_stream-events
39
- requirement: &74507270 !ruby/object:Gem::Requirement
39
+ requirement: &74286500 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 0.2.0
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *74507270
47
+ version_requirements: *74286500
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: social_stream-linkser
50
- requirement: &74507040 !ruby/object:Gem::Requirement
50
+ requirement: &74286210 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 0.0.6
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *74507040
58
+ version_requirements: *74286210
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: capybara
61
- requirement: &74506810 !ruby/object:Gem::Requirement
61
+ requirement: &74285920 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 0.3.9
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *74506810
69
+ version_requirements: *74285920
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: sqlite3
72
- requirement: &74506610 !ruby/object:Gem::Requirement
72
+ requirement: &74285690 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: '0'
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *74506610
80
+ version_requirements: *74285690
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rspec-rails
83
- requirement: &74506320 !ruby/object:Gem::Requirement
83
+ requirement: &74285340 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 2.5.0
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *74506320
91
+ version_requirements: *74285340
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: factory_girl
94
- requirement: &74506070 !ruby/object:Gem::Requirement
94
+ requirement: &74285000 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ~>
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: 1.3.2
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *74506070
102
+ version_requirements: *74285000
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: forgery
105
- requirement: &74505840 !ruby/object:Gem::Requirement
105
+ requirement: &74284750 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ~>
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: 0.3.6
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *74505840
113
+ version_requirements: *74284750
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: ci_reporter
116
- requirement: &74505610 !ruby/object:Gem::Requirement
116
+ requirement: &74284500 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ~>
@@ -121,7 +121,7 @@ dependencies:
121
121
  version: 1.6.4
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *74505610
124
+ version_requirements: *74284500
125
125
  description: Social Stream is a Ruby on Rails engine for building social network websites.
126
126
  It supports contacts, posts, file uploads, private messages and many more.
127
127
  email:
@@ -295,6 +295,7 @@ files:
295
295
  - base/app/assets/images/tipsy.gif
296
296
  - base/app/assets/javascripts/activities.js.erb
297
297
  - base/app/assets/javascripts/activities_security_chosen-modified.jquery.js
298
+ - base/app/assets/javascripts/cheesecake.js
298
299
  - base/app/assets/javascripts/contacts.js
299
300
  - base/app/assets/javascripts/conversations.js
300
301
  - base/app/assets/javascripts/groups.js
@@ -317,6 +318,7 @@ files:
317
318
  - base/app/assets/stylesheets/_colors.scss
318
319
  - base/app/assets/stylesheets/activities.css.scss
319
320
  - base/app/assets/stylesheets/base.css.scss
321
+ - base/app/assets/stylesheets/cheesecake.css.scss
320
322
  - base/app/assets/stylesheets/contacts.css.scss
321
323
  - base/app/assets/stylesheets/conversations.css
322
324
  - base/app/assets/stylesheets/footer.css.scss
@@ -356,6 +358,7 @@ files:
356
358
  - base/app/controllers/activities_controller.rb
357
359
  - base/app/controllers/api_controller.rb
358
360
  - base/app/controllers/authentications_controller.rb
361
+ - base/app/controllers/cheesecake_controller.rb
359
362
  - base/app/controllers/comments_controller.rb
360
363
  - base/app/controllers/contacts_controller.rb
361
364
  - base/app/controllers/conversations_controller.rb
@@ -424,9 +427,12 @@ files:
424
427
  - base/app/views/activities/index.js.erb
425
428
  - base/app/views/activity_objects/_activity_object.html.erb
426
429
  - base/app/views/actors/_actor.html.erb
430
+ - base/app/views/actors/_actor_cheesecake.html.erb
427
431
  - base/app/views/api/activity_atom_feed.atom.builder
428
432
  - base/app/views/avatars/index.html.erb
429
433
  - base/app/views/avatars/update.js.erb
434
+ - base/app/views/cheesecake/_index.html.erb
435
+ - base/app/views/cheesecake/index.html.erb
430
436
  - base/app/views/comments/_comment.html.erb
431
437
  - base/app/views/comments/_new.html.erb
432
438
  - base/app/views/comments/create.js.erb