social_stream 0.20.0 → 0.20.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,6 +5,17 @@
5
5
  padding: 20px;
6
6
  padding-top: 0px;
7
7
  }
8
+ #edit_sector_button {
9
+ position: absolute;
10
+ top: 75px;
11
+ left: 410px;
12
+ display: none;
13
+ z-index: 3000;
14
+ }
15
+ #edit_sector_button img {
16
+ width: 24px;
17
+ height: 24px;
18
+ }
8
19
  #contacts_cheesecake {
9
20
  width: 440px;
10
21
  height: 440px;
@@ -13,7 +24,7 @@
13
24
  float: left;
14
25
  position: relative;
15
26
  }
16
- #sector_form {
27
+ #sector_editor {
17
28
  float: left;
18
29
  position: relative;
19
30
  width: 0px;
@@ -257,3 +268,46 @@
257
268
  .cheesecake_actor_tipsy.tipsy .logo {
258
269
  display: none;
259
270
  }
271
+ #sector_form {
272
+ width: 300px;
273
+ height: 450px;
274
+ float: right;
275
+ }
276
+ #sector_form .title {
277
+ width: 300px;
278
+ text-align: center;
279
+ font-size: 13px;
280
+ padding: 20px 0px 15px 0px;
281
+ }
282
+ #sector_form .title #edited_sector_name {
283
+ font-size: 14px;
284
+ font-weight: bold;
285
+ }
286
+ #sector_form #edited_sector_color_out {
287
+ border: 1px solid $main-color;
288
+ background: $header-notification-color;
289
+ width: 14px;
290
+ height: 14px;
291
+ padding: 3px;
292
+ }
293
+ #sector_form #edited_sector_color_in {
294
+ background: $secondary-color;
295
+ width: 14px;
296
+ height: 14px;
297
+ }
298
+ #sector_form .subsector {
299
+ border: 1px solid $input-border-color;
300
+ background: $fill-color;
301
+ width: 260px;
302
+ min-height: 20px;
303
+ }
304
+ #sector_form .subsector .title {
305
+ width: 260px;
306
+ text-align: center;
307
+ font-size: 11px;
308
+ padding: 5px 0px 5px 0px;
309
+ }
310
+ #sector_form .subsector .title .edited_subsector_name {
311
+ font-size: 11px;
312
+ font-weight: bold;
313
+ }
@@ -50,6 +50,7 @@ class Contact < ActiveRecord::Base
50
50
  scope :not_reflexive, where(arel_table[:sender_id].not_eq(arel_table[:receiver_id]))
51
51
 
52
52
  scope :pending, active.
53
+ positive.
53
54
  not_reflexive.
54
55
  joins("LEFT JOIN contacts AS inverse_contacts ON inverse_contacts.id = contacts.inverse_id").
55
56
  where(arel_table[:inverse_id].eq(nil).or(arel_table.alias("inverse_contacts")[:ties_count].eq(0)))
@@ -37,41 +37,39 @@ $(function(){
37
37
  var cheese = new socialCheesecake.Cheesecake(cheesecakeData);
38
38
  cheese.syncSectorFocusCallbacks = false;
39
39
  cheese.onSectorFocusBegin = function(cheesecake,callback){
40
- if(cheese.highlightedSector.auxiliar){
40
+ if((cheese.highlightedSector)&&(cheese.highlightedSector.auxiliar)){
41
41
  $("#contacts_explorer").animate({width: 0},500,function(){
42
42
  $("#contacts_explorer").hide();
43
43
  });
44
- setTimeout(function(){
45
- $("#sector_form").show();
46
- $("#sector_form").animate({width: 300},500);
47
- },100);
44
+ $("#sector_editor").show();
45
+ $("#sector_editor").animate({width: 300},500);
48
46
  }else{
49
47
  $("#contacts_grid_available").fadeOut("fast", callback);
50
48
  }
51
49
  };
52
50
  cheese.onSectorFocusEnd = function(cheesecake){
53
- if(cheese.highlightedSector.auxiliar){
51
+ if((cheese.highlightedSector)&&(cheese.highlightedSector.auxiliar)){
54
52
 
55
53
  }else{
56
- $("#contacts_grid_available").fadeIn("fast");
54
+ $("#contacts_grid_available").fadeIn("fast");
55
+ $("#edit_sector_button").fadeIn("fast");
57
56
  }
58
57
  };
59
58
  cheese.onSectorUnfocusBegin = function(cheesecake,callback){
60
- if(cheese.highlightedSector.auxiliar){
59
+ if((cheese.highlightedSector)&&(cheese.highlightedSector.auxiliar)){
61
60
 
62
61
  }else{
63
- $("#contacts_grid_available").fadeOut("fast", callback);
62
+ $("#contacts_grid_available").fadeOut("fast", callback);
63
+ $("#edit_sector_button").fadeOut("fast");
64
64
  }
65
65
  };
66
66
  cheese.onSectorUnfocusEnd = function(cheesecake){
67
- if(cheese.highlightedSector.auxiliar){
68
- $("#sector_form").animate({width: 0},500,function(){
69
- $("#sector_form").hide();
67
+ if((cheese.highlightedSector)&&(cheese.highlightedSector.auxiliar)){
68
+ $("#sector_editor").animate({width: 0},500,function(){
69
+ $("#sector_editor").hide();
70
70
  });
71
- setTimeout(function(){
72
- $("#contacts_explorer").show();
73
- $("#contacts_explorer").animate({width: 300},500);
74
- },100);
71
+ $("#contacts_explorer").show();
72
+ $("#contacts_explorer").animate({width: 300},500);
75
73
  }else{
76
74
  $("#contacts_grid_available").fadeIn("fast");
77
75
  }
@@ -1,6 +1,6 @@
1
-
1
+ <div id="edit_sector_button"><%= image_tag "btn/cheese_edit.png" %></div>
2
2
  <div id="contacts_cheesecake"></div>
3
- <div id="sector_form" style="display:none;">
3
+ <div id="sector_editor">
4
4
  <%= render :partial => "sector_form" %>
5
5
  </div>
6
6
  <div id="contacts_explorer">
@@ -108,5 +108,28 @@
108
108
  });
109
109
  }
110
110
  });
111
+ var edit_sector_click = function(){
112
+ $("#edit_sector_button").off("click.edit");
113
+ $("#edit_sector_button").fadeOut("fast",function(){
114
+ $("#edit_sector_button").html("<%= escape_javascript image_tag "btn/cheese_close_edit.png" %>");
115
+ $("#edit_sector_button").fadeIn("fast");
116
+ });
117
+ $("#contacts_explorer").stop().animate({width: 0},500);
118
+ $("#sector_editor").stop().animate({width: 300},500, function(){
119
+ $("#edit_sector_button").on("click.close_edit",close_edit_sector_click);
120
+ });
121
+ }
122
+ var close_edit_sector_click = function(){
123
+ $("#edit_sector_button").off("click.close_edit");
124
+ $("#edit_sector_button").fadeOut("fast",function(){
125
+ $("#edit_sector_button").html("<%= escape_javascript image_tag "btn/cheese_edit.png" %>");
126
+ $("#edit_sector_button").fadeIn("fast");
127
+ });
128
+ $("#sector_editor").stop().animate({width: 0},500);
129
+ $("#contacts_explorer").stop().animate({width: 300},500,function(){
130
+ $("#edit_sector_button").on("click.edit",edit_sector_click);
131
+ });
132
+ }
133
+ $("#edit_sector_button").on("click.edit",edit_sector_click);
111
134
  <%= render :partial => 'cheesecake' %>
112
135
  <% end %>
@@ -1 +1,81 @@
1
- Sector form in construction. Please, be patient :D
1
+ <form id="sector_form">
2
+ <div class="title">
3
+ Editing <span id="edited_sector_name">New sector</span>
4
+ </div>
5
+ <div class="block">
6
+ <div class="form_row">
7
+ <div class="form_label">
8
+ Name:
9
+ </div>
10
+ <div class="form_field">
11
+ <input type="text" class="form_tag" value="New sector">
12
+ </div>
13
+ </div>
14
+ <div class="form_row">
15
+ <div class="form_label">
16
+ Color:
17
+ </div>
18
+ <div class="form_field">
19
+ <div id="edited_sector_color_out">
20
+ <div id="edited_sector_color_in"></div>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ <% for i in 1..4 do %>
25
+ <div class="form_row">
26
+ <div class="subsector">
27
+ <div class="title">
28
+ Subsector <span class="edited_subsector_name">New subsector <%= i %></span>
29
+ </div>
30
+ <div class="content" <%= i==1 ? '' : 'style=display:none;' %>>
31
+ <div class="form_row">
32
+ <div class="form_label">
33
+ Name:
34
+ </div>
35
+ <div class="form_field">
36
+ <input type="text" class="form_tag" value="New subsector <%= i %>">
37
+ </div>
38
+ </div>
39
+ <div class="form_row">
40
+ <div class="form_label">
41
+ Permissions:
42
+ </div>
43
+ </div>
44
+ <div class="form_row">
45
+ <div class="form_field">
46
+ <table class="tableCheckBoxOptions">
47
+ <% default_permissions.each_with_index do |p, i| %>
48
+ <tr>
49
+ <td>
50
+ <div contain=<%= dom_id p %> class="checkboxPermissionOptionLeft">
51
+ <input id=<%= dom_id p %> class="permission" type="checkbox"/>
52
+ <label for=<%= dom_id p %>><%= p.description(:brief) %></label>
53
+ <div class="clearfloat"></div>
54
+ </div></td>
55
+ </tr>
56
+ <% end %>
57
+ </table>
58
+ </div>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ <% end %>
64
+ </div>
65
+ </form>
66
+
67
+ <%= javascript_tag do %>
68
+ $(function(){
69
+ $(".subsector .title").off("click.toggle");
70
+ $(".subsector .title").on("click.toggle",function(){
71
+ if(!$(this).parent().find(".content").is(':visible')){
72
+ $(".subsector .content").each(function(){
73
+ if($(this).parent().find(".content").is(':visible')){
74
+ $(this).slideToggle();
75
+ }
76
+ });
77
+ $(this).parent().find(".content").slideToggle();
78
+ }
79
+ })
80
+ });
81
+ <% end %>
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Base
3
- VERSION = "0.15.0".freeze
3
+ VERSION = "0.15.1".freeze
4
4
  end
5
5
  end
@@ -35,6 +35,17 @@ describe Contact do
35
35
  end
36
36
  end
37
37
 
38
+ context "reject" do
39
+ before do
40
+ @contact = Factory(:reject).contact
41
+ @contact.inverse!
42
+ end
43
+
44
+ it "should not appear as pending" do
45
+ @contact.receiver.pending_contacts.should_not include(@contact.inverse!)
46
+ end
47
+ end
48
+
38
49
  context "a pair" do
39
50
  before do
40
51
  @friend = Factory(:friend)
@@ -1,4 +1,5 @@
1
1
  # Monkey patch https://github.com/thoughtbot/paperclip/issues/293#issuecomment-2484541
2
+ # Monkey patch https://github.com/thoughtbot/paperclip/commit/2583a27df497e72ec7a200b6aa707948e88fd166
2
3
  #
3
4
  # Remove with paperclip > 2.5.0
4
5
  require 'paperclip'
@@ -45,4 +46,17 @@ module Paperclip::ClassMethods
45
46
  attachment.send(:flush_errors)
46
47
  end
47
48
  end
49
+
50
+ def validates_attachment_presence name, options = {}
51
+ message = options[:message] || :empty
52
+ validates_each :"#{name}_file_name" do |record, attr, value|
53
+ if_clause_passed = options[:if].nil? || (options[:if].respond_to?(:call) ? options[:if].call(record) != false : record.send(options[:if]))
54
+ unless_clause_passed = options[:unless].nil? || (options[:unless].respond_to?(:call) ? !!options[:unless].call(record) == false : !record.send(options[:unless]))
55
+
56
+ if if_clause_passed && unless_clause_passed && value.blank?
57
+ record.errors.add(name, message)
58
+ record.errors.add("#{name}_file_name", message)
59
+ end
60
+ end
61
+ end
48
62
  end
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Documents
3
- VERSION = "0.10.0".freeze
3
+ VERSION = "0.10.1".freeze
4
4
  end
5
5
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.files = `git ls-files`.split("\n")
13
13
 
14
14
  # Gem dependencies
15
- s.add_runtime_dependency('social_stream-base', '~> 0.15.0')
15
+ s.add_runtime_dependency('social_stream-base', '~> 0.15.1')
16
16
  s.add_runtime_dependency('paperclip-ffmpeg', '~> 0.7.0')
17
17
  s.add_runtime_dependency('paperclip','= 2.4.5')
18
18
  s.add_runtime_dependency('delayed_paperclip','2.4.5.1')
@@ -1,3 +1,3 @@
1
1
  module SocialStream
2
- VERSION = "0.20.0".freeze
2
+ VERSION = "0.20.1".freeze
3
3
  end
@@ -23,7 +23,7 @@ function initSound(sound){
23
23
  var html5audio=document.createElement('audio')
24
24
 
25
25
  if (html5audio.canPlayType){
26
- path = 'assets/chat/' + sound;
26
+ path = '/assets/chat/' + sound;
27
27
  window[sound] = new Audio();
28
28
 
29
29
  for(i=0; i<html5_audiotypes.length; i++){
@@ -183,6 +183,7 @@ function updateChatWindow(){
183
183
  setStatusWidgetTitle(userStatus);
184
184
  $(".user_presence a[title]").tooltip();
185
185
  setUserFunctions();
186
+ updateConnectedUsersOfMainChatBox();
186
187
  if (afterNewConnectionFlag){
187
188
  afterNewConnectionFlag = false;
188
189
  restoreChatData();
@@ -230,7 +231,7 @@ function getAllConnectedSlugs(){
230
231
  connectedSlugs=[];
231
232
  connectionBoxes = $('div.user_presence[slug]');
232
233
  $.each(connectionBoxes, function(index, value) {
233
- if($(value).is(":visible")){
234
+ if($(value).css("display")!="none"){
234
235
  connectedSlugs.push($(value).attr("slug"))
235
236
  }
236
237
  });
@@ -321,4 +322,15 @@ function notifyWhenUsersDisconnect(){
321
322
  function hideAllNotifications(){
322
323
  var notification = $("div.ui-chatbox-notify");
323
324
  hideChatNotification(notification);
324
- }
325
+ }
326
+
327
+
328
+
329
+ ////////////////////
330
+ //Update connected users of MainChatBox
331
+ ////////////////////
332
+
333
+ function updateConnectedUsersOfMainChatBox(){
334
+ var connectedUsers = getAllConnectedSlugs().length;
335
+ changeMainChatBoxHeaderTitle( '<%=I18n.t('chat.title')%>' + " (" + connectedUsers + ")");
336
+ }
@@ -143,7 +143,7 @@ function splitFirst(word,key){
143
143
  function buildIconImage(icon){
144
144
  if (icon in chatIcons){
145
145
  image_file = chatIcons[icon]
146
- return "<img class=\"chatEmoticon\" src=\"assets/emoticons/" + image_file + "\"/>";
146
+ return "<img class=\"chatEmoticon\" src=\"/assets/emoticons/" + image_file + "\"/>";
147
147
  }
148
148
  return icon
149
149
  }
@@ -250,6 +250,8 @@ function createMainChatBox(){
250
250
  $("#chat_partial").css("margin-left",-3)
251
251
  $(".dropdown dd ul").css("min-width",147)
252
252
 
253
+ //Header title
254
+ updateConnectedUsersOfMainChatBox();
253
255
  }
254
256
  }
255
257
  }
@@ -270,3 +272,7 @@ function modifyChatPartialIfMainBox(chatPartial){
270
272
 
271
273
  return chatPartial;
272
274
  }
275
+
276
+ function changeMainChatBoxHeaderTitle(title){
277
+ $($(mainChatBox.parent().parent()).find(".ui-chatbox-titlebar").find("span")[0]).html(title);
278
+ }
@@ -2,7 +2,6 @@
2
2
  //Global constants
3
3
  ////////////////////
4
4
  var domain = '<%=SocialStream::Presence.domain%>';
5
- var sound_path = "/assets/audio/chat/onMessage";
6
5
 
7
6
 
8
7
  ////////////////////
@@ -319,6 +318,7 @@ function processAvailablePresenceStanza(presence){
319
318
  if (cacheConnectedUsers.indexOf(slug) != -1) {
320
319
  showConnectionBoxFromSlug(slug);
321
320
  hideChatNotificationForSlug(slug);
321
+ updateConnectedUsersOfMainChatBox();
322
322
  }
323
323
  } else {
324
324
  setTimeout("refreshChatWindow()", 3000);
@@ -334,6 +334,7 @@ function processUnavailablePresenceStanza(presence){
334
334
  if (getConnectionBoxFromSlug(slug)!=null){
335
335
  hideConnectionBoxFromSlug(slug)
336
336
  showChatNotificationForSlug(slug,$(getConnectionBoxFromSlug(slug)).attr("name") + " is offline");
337
+ updateConnectedUsersOfMainChatBox();
337
338
  }
338
339
  }
339
340
  }
@@ -28,6 +28,8 @@
28
28
  .ui-chatbox-titlebar {
29
29
  padding: 3px 3px 3px 3px;
30
30
  height: 20px;
31
+ background-color: $secondary-color;
32
+ color: $main-color;
31
33
  }
32
34
 
33
35
  .ui-chatbox-content {
@@ -53,6 +55,7 @@
53
55
  margin: 5px 5px 5px 5px;
54
56
  border: 1px solid $separation-color;
55
57
  height: 35px;
58
+ color: $main-color;
56
59
  }
57
60
 
58
61
 
@@ -12,10 +12,10 @@
12
12
  <dt><a href=""><span><%=t('chat.status.choose')%></span></a></dt>
13
13
  <dd>
14
14
  <ul id="statusList">
15
- <li><a id="available" href="#" class="option"><img class="flag" src="assets/status/available.png" alt=""/> <%=t('chat.status.available')%> <span class="value">available</span></a></li>
16
- <li><a id="away" href="#" class="option"><img class="flag" src="assets/status/away.png" alt=""/> <%=t('chat.status.away')%> <span class="value">away</span></a></li>
17
- <li><a id="dnd" href="#" class="option"><img class="flag" src="assets/status/dnd.png" alt=""/> <%=t('chat.status.dnd')%> <span class="value">dnd</span></a></li>
18
- <li><a id="offline" href="#" class="option"><img class="flag" src="assets/status/offline.png" alt=""/> <%=t('chat.status.offline')%> <span class="value">offline</span></a></li>
15
+ <li><a id="available" href="#" class="option"><img class="flag" src="/assets/status/available.png" alt=""/> <%=t('chat.status.available')%> <span class="value">available</span></a></li>
16
+ <li><a id="away" href="#" class="option"><img class="flag" src="/assets/status/away.png" alt=""/> <%=t('chat.status.away')%> <span class="value">away</span></a></li>
17
+ <li><a id="dnd" href="#" class="option"><img class="flag" src="/assets/status/dnd.png" alt=""/> <%=t('chat.status.dnd')%> <span class="value">dnd</span></a></li>
18
+ <li><a id="offline" href="#" class="option"><img class="flag" src="/assets/status/offline.png" alt=""/> <%=t('chat.status.offline')%> <span class="value">offline</span></a></li>
19
19
  </ul>
20
20
  </dd>
21
21
  </div>
@@ -1,5 +1,5 @@
1
1
  module Socialstream
2
2
  module Presence
3
- VERSION = "0.6.0"
3
+ VERSION = "0.6.1"
4
4
  end
5
5
  end
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ["lib"]
20
20
 
21
21
  # Gem dependencies
22
- s.add_runtime_dependency('social_stream-base', '~> 0.15.0')
22
+ s.add_runtime_dependency('social_stream-base', '~> 0.15.1')
23
23
 
24
24
  s.add_runtime_dependency "xmpp4r"
25
25
 
@@ -11,11 +11,11 @@ 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.15.0')
15
- s.add_runtime_dependency('social_stream-documents', '~> 0.10.0')
14
+ s.add_runtime_dependency('social_stream-base', '~> 0.15.1')
15
+ s.add_runtime_dependency('social_stream-documents', '~> 0.10.1')
16
16
  s.add_runtime_dependency('social_stream-events', '~> 0.7.0')
17
17
  s.add_runtime_dependency('social_stream-linkser', '~> 0.5.0')
18
- s.add_runtime_dependency('social_stream-presence', '~> 0.6.0')
18
+ s.add_runtime_dependency('social_stream-presence', '~> 0.6.1')
19
19
 
20
20
  # Development Gem dependencies
21
21
  #
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.20.0
4
+ version: 0.20.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,29 +14,29 @@ date: 2012-02-06 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: social_stream-base
17
- requirement: &82031270 !ruby/object:Gem::Requirement
17
+ requirement: &82379940 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: 0.15.0
22
+ version: 0.15.1
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *82031270
25
+ version_requirements: *82379940
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: social_stream-documents
28
- requirement: &82031010 !ruby/object:Gem::Requirement
28
+ requirement: &82379690 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 0.10.0
33
+ version: 0.10.1
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *82031010
36
+ version_requirements: *82379690
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: social_stream-events
39
- requirement: &82030760 !ruby/object:Gem::Requirement
39
+ requirement: &82379420 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 0.7.0
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *82030760
47
+ version_requirements: *82379420
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: social_stream-linkser
50
- requirement: &82030470 !ruby/object:Gem::Requirement
50
+ requirement: &82379060 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,21 +55,21 @@ dependencies:
55
55
  version: 0.5.0
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *82030470
58
+ version_requirements: *82379060
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: social_stream-presence
61
- requirement: &82030180 !ruby/object:Gem::Requirement
61
+ requirement: &82378730 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
65
65
  - !ruby/object:Gem::Version
66
- version: 0.6.0
66
+ version: 0.6.1
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *82030180
69
+ version_requirements: *82378730
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: capybara
72
- requirement: &82029820 !ruby/object:Gem::Requirement
72
+ requirement: &82378380 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 0.3.9
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *82029820
80
+ version_requirements: *82378380
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: sqlite3
83
- requirement: &82017900 !ruby/object:Gem::Requirement
83
+ requirement: &82356550 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '0'
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *82017900
91
+ version_requirements: *82356550
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: ruby-debug19
94
- requirement: &82017650 !ruby/object:Gem::Requirement
94
+ requirement: &82356300 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0'
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *82017650
102
+ version_requirements: *82356300
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rspec-rails
105
- requirement: &82017400 !ruby/object:Gem::Requirement
105
+ requirement: &82356030 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ~>
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: 2.8.0
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *82017400
113
+ version_requirements: *82356030
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: factory_girl
116
- requirement: &82017150 !ruby/object:Gem::Requirement
116
+ requirement: &82355770 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ~>
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: 1.3.2
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *82017150
124
+ version_requirements: *82355770
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: forgery
127
- requirement: &82016920 !ruby/object:Gem::Requirement
127
+ requirement: &82355450 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ~>
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: 0.4.2
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *82016920
135
+ version_requirements: *82355450
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: ci_reporter
138
- requirement: &82016690 !ruby/object:Gem::Requirement
138
+ requirement: &82355150 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ~>
@@ -143,7 +143,7 @@ dependencies:
143
143
  version: 1.6.4
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *82016690
146
+ version_requirements: *82355150
147
147
  description: Social Stream is a Ruby on Rails engine for building social network websites.
148
148
  It supports contacts, posts, file uploads, private messages and many more.
149
149
  email:
@@ -226,6 +226,8 @@ files:
226
226
  - base/app/assets/images/btn/btn_star.png
227
227
  - base/app/assets/images/btn/btn_tag.png
228
228
  - base/app/assets/images/btn/btn_write.png
229
+ - base/app/assets/images/btn/cheese_close_edit.png
230
+ - base/app/assets/images/btn/cheese_edit.png
229
231
  - base/app/assets/images/btn/close.png
230
232
  - base/app/assets/images/btn/date.png
231
233
  - base/app/assets/images/btn/delete.png