social_stream 0.15.5 → 0.15.6

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.
Files changed (26) hide show
  1. data/base/app/assets/stylesheets/base.css.scss +1 -1
  2. data/base/app/models/activity.rb +1 -1
  3. data/base/app/models/actor.rb +24 -10
  4. data/base/app/views/layouts/application.html.erb +1 -0
  5. data/base/lib/social_stream/base/version.rb +1 -1
  6. data/lib/social_stream/version.rb +1 -1
  7. data/linkser/lib/social_stream/linkser/version.rb +1 -1
  8. data/linkser/social_stream-linkser.gemspec +2 -2
  9. data/presence/app/assets/javascripts/chat_interface_manager.js.erb +2 -1
  10. data/presence/app/assets/javascripts/chat_parser.js +14 -0
  11. data/presence/app/assets/javascripts/chat_window_manager.js +70 -22
  12. data/presence/app/assets/javascripts/xmpp_client_management.js.erb +2 -2
  13. data/presence/app/assets/stylesheets/{chat.css → chat.css.scss} +69 -48
  14. data/presence/ejabberd/ejabberd_files.zip +0 -0
  15. data/presence/ejabberd/ejabberd_scripts/emanagement +4 -4
  16. data/presence/ejabberd/ejabberd_scripts/reset_connection_script +6 -3
  17. data/presence/ejabberd/ejabberd_scripts/rest_api_client_script +5 -2
  18. data/presence/ejabberd/ejabberd_scripts/synchronize_presence_script +6 -3
  19. data/presence/ejabberd/mod_sspresence/mod_sspresence.beam +0 -0
  20. data/presence/lib/social_stream/presence/models/buddy_manager.rb +5 -4
  21. data/presence/lib/social_stream/presence/version.rb +1 -1
  22. data/presence/lib/social_stream/presence/xmpp_server_order.rb +14 -3
  23. data/presence/lib/tasks/presence/installer.rake +4 -2
  24. data/presence/vendor/assets/javascripts/jquery.ui.chatbox.js +72 -18
  25. data/social_stream.gemspec +2 -2
  26. metadata +86 -169
@@ -6,8 +6,6 @@
6
6
 
7
7
  require 'logger'
8
8
  require 'rest_client'
9
- require 'openssl'
10
- require 'digest/md5'
11
9
 
12
10
 
13
11
  path = "/var/log/ejabberd/scripts.log"
@@ -194,6 +192,9 @@ def sendHttpRequest(url,params,encrypted_params)
194
192
 
195
193
 
196
194
  if $secure_rest_api == "true"
195
+ #Require libraries
196
+ require 'openssl'
197
+
197
198
  xmpp_private_key_path = $scripts_path + "/rsa_keys/xmpp_rsa_key_private.pem";
198
199
  web_public_key_path = $scripts_path + "/rsa_keys/web_rsa_key_public.pem";
199
200
  xmpp_private_key = OpenSSL::PKey::RSA.new(File.read(xmpp_private_key_path))
@@ -241,6 +242,8 @@ end
241
242
 
242
243
 
243
244
  def calculateHash(request_params)
245
+ require 'digest/md5'
246
+
244
247
  unless request_params
245
248
  request_params = {};
246
249
  end
@@ -6,8 +6,6 @@
6
6
 
7
7
  require 'logger'
8
8
  require 'rest_client'
9
- require 'openssl'
10
- require 'digest/md5'
11
9
 
12
10
 
13
11
  path = "/var/log/ejabberd/scripts.log"
@@ -34,7 +32,7 @@ end
34
32
  $secure_rest_api = getOption("secure_rest_api=")
35
33
  $pass = getOption("ejabberd_password=")
36
34
  $scripts_path = getOption("scripts_path=")
37
- $script_title = "Synchronize Presence script"
35
+ $script_title = "Synchronize Presence Script"
38
36
 
39
37
 
40
38
  def log(title,text)
@@ -194,6 +192,9 @@ def sendHttpRequest(url,params,encrypted_params)
194
192
 
195
193
 
196
194
  if $secure_rest_api == "true"
195
+ #Require libraries
196
+ require 'openssl'
197
+
197
198
  xmpp_private_key_path = $scripts_path + "/rsa_keys/xmpp_rsa_key_private.pem";
198
199
  web_public_key_path = $scripts_path + "/rsa_keys/web_rsa_key_public.pem";
199
200
  xmpp_private_key = OpenSSL::PKey::RSA.new(File.read(xmpp_private_key_path))
@@ -241,6 +242,8 @@ end
241
242
 
242
243
 
243
244
  def calculateHash(request_params)
245
+ require 'digest/md5'
246
+
244
247
  unless request_params
245
248
  request_params = {};
246
249
  end
@@ -31,23 +31,24 @@ module SocialStream
31
31
  user_name = self.sender.name
32
32
  buddy_sid = self.receiver.slug + "@" + domain
33
33
  buddy_name = self.receiver.name
34
+ site_name = I18n.t('site.name').delete(' ')
34
35
 
35
36
  #Check if is a positive and replied tie
36
37
  if self.bidirectional?
37
38
  #Execute setRosterForBidirectionalTie(userASid,userBSid,userANick,userBNick,groupForA,groupForB)
38
- SocialStream::Presence::XmppServerOrder::setRosterForBidirectionalTie(user_sid,buddy_sid,user_name,buddy_name,"SocialStream","SocialStream")
39
+ SocialStream::Presence::XmppServerOrder::setRosterForBidirectionalTie(user_sid,buddy_sid,user_name,buddy_name,site_name,site_name)
39
40
  elsif self.positive?
40
41
  #Case: Possitive tie unidirectional
41
42
  #Execute addBuddyToRoster(userSID,buddySID,buddyNick,buddyGroup,subscription_type)
42
43
  subscription_type = "from"
43
- SocialStream::Presence::XmppServerOrder::addBuddyToRoster(user_sid,buddy_sid,buddy_name,"SocialStream",subscription_type)
44
+ SocialStream::Presence::XmppServerOrder::addBuddyToRoster(user_sid,buddy_sid,buddy_name,site_name,subscription_type)
44
45
  else
45
46
  #Negative Tie
46
47
 
47
48
  if self.contact.positive_replied?
48
49
  #Bidirectional contacts
49
50
  #Execute unsetRosterForBidirectionalTie(user_sid,oldfriend_sid,oldfriendNick,oldfriendGroup)
50
- SocialStream::Presence::XmppServerOrder::unsetRosterForBidirectionalTie(buddy_sid,user_sid,user_name,"SocialStream")
51
+ SocialStream::Presence::XmppServerOrder::unsetRosterForBidirectionalTie(buddy_sid,user_sid,user_name,site_name)
51
52
  else
52
53
  SocialStream::Presence::XmppServerOrder::removeBuddyFromRoster(user_sid,buddy_sid)
53
54
  end
@@ -85,7 +86,7 @@ module SocialStream
85
86
  # #Check if is a positive and replied tie
86
87
  # if self.bidirectional?
87
88
  # #Execute unsetRosterForBidirectionalTie(user_sid,oldfriend_sid,oldfriendNick,oldfriendGroup)
88
- # SocialStream::Presence::XmppServerOrder::unsetRosterForBidirectionalTie(buddy_sid,user_sid,user_name,"SocialStream")
89
+ # SocialStream::Presence::XmppServerOrder::unsetRosterForBidirectionalTie(buddy_sid,user_sid,user_name,site_name)
89
90
  # elsif self.positive?
90
91
  # #Case: Possitive tie unidirectional
91
92
  # #Execute removeBuddyFromRoster(user_sid,buddy_sid)
@@ -1,5 +1,5 @@
1
1
  module Socialstream
2
2
  module Presence
3
- VERSION = "0.1.6"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -5,8 +5,6 @@ require 'xmpp4r/client'
5
5
  require 'xmpp4r/message'
6
6
  require 'net/ssh'
7
7
  require 'net/sftp'
8
- require 'openssl'
9
- require 'digest/md5'
10
8
 
11
9
 
12
10
  module SocialStream
@@ -62,6 +60,7 @@ module SocialStream
62
60
  #"Populate rosters"
63
61
  users = User.all
64
62
  checkedUsers = []
63
+ site_name = I18n.t('site.name').delete(' ')
65
64
 
66
65
  users.each do |user|
67
66
  checkedUsers << user.slug
@@ -71,7 +70,7 @@ module SocialStream
71
70
  domain = SocialStream::Presence.domain
72
71
  user_sid = user.slug + "@" + domain
73
72
  contact_sid = contact.slug + "@" + domain
74
- commands << buildCommand("emanagement","setBidireccionalBuddys",[user_sid,contact_sid,user.name,contact.name,"SocialStream","SocialStream"])
73
+ commands << buildCommand("emanagement","setBidireccionalBuddys",[user_sid,contact_sid,user.name,contact.name,site_name,site_name])
75
74
  end
76
75
  end
77
76
  end
@@ -238,6 +237,9 @@ module SocialStream
238
237
  return "Keys path not exists"
239
238
  end
240
239
 
240
+ #Require libraries
241
+ require 'openssl'
242
+
241
243
  web_public_key_path=keysPath+"/web_rsa_key_public.pem"
242
244
  web_private_key_path=keysPath+"/web_rsa_key_private.pem"
243
245
  xmpp_public_key_path=keysPath+"/xmpp_rsa_key_public.pem"
@@ -386,6 +388,9 @@ module SocialStream
386
388
  when true
387
389
  #Authorization using asymmetric RSA keys
388
390
  begin
391
+ #Require libraries
392
+ require 'openssl'
393
+
389
394
  presence_root = File.expand_path("../../../../", __FILE__)
390
395
  xmpp_public_key_path = presence_root + "/rsa_keys/xmpp_rsa_key_public.pem";
391
396
  xmpp_public_key = OpenSSL::PKey::RSA.new(File.read(xmpp_public_key_path))
@@ -425,6 +430,9 @@ module SocialStream
425
430
 
426
431
 
427
432
  def calculateHash(params)
433
+ #Require libraries
434
+ require 'digest/md5'
435
+
428
436
  if params
429
437
  params.delete("password")
430
438
  params.delete("controller")
@@ -446,6 +454,9 @@ module SocialStream
446
454
  when true
447
455
  #Secure Mode
448
456
  begin
457
+ #Require libraries
458
+ require 'openssl'
459
+
449
460
  if params[:encrypted_params]
450
461
  presence_root = File.expand_path("../../../../", __FILE__)
451
462
  web_private_key_path = presence_root + "/rsa_keys/web_rsa_key_private.pem";
@@ -66,8 +66,10 @@ namespace :presence do
66
66
  output = SocialStream::Presence::XmppServerOrder::executeCommands(commands)
67
67
  puts output
68
68
 
69
- #Generate RSA Keys
70
- Rake::Task["presence:install:generate_RSA_keys"].execute
69
+ if SocialStream::Presence.secure_rest_api
70
+ #Generate RSA Keys
71
+ Rake::Task["presence:install:generate_RSA_keys"].execute
72
+ end
71
73
 
72
74
  puts "Installation complete"
73
75
  end
@@ -22,6 +22,8 @@
22
22
  hidden: false,
23
23
  offset: 0, // relative to right edge of the browser window
24
24
  width: 230, // width of the chatbox
25
+ height: 400, // height of the chatbox
26
+ video: 0, // height of the videoBox
25
27
  messageSent: function(id, user, msg){
26
28
  // override this
27
29
  this.boxManager.addMsg(user.first_name, msg);
@@ -168,6 +170,24 @@
168
170
  .text('minimize')
169
171
  .appendTo(uiChatboxTitlebarMinimize),
170
172
 
173
+ //Video Menu button
174
+ uiChatboxTitlebarVideo = (self.uiChatboxTitlebarVideo = $('<a href="#"></a>'))
175
+ .addClass('ui-corner-all ' +
176
+ 'ui-chatbox-icon' + ' ui-videobox-icon'
177
+ )
178
+ .attr('role', 'button')
179
+ //.hover(function() {uiChatboxTitlebarMinimize.addClass('ui-state-hover');},
180
+ // function() {uiChatboxTitlebarMinimize.removeClass('ui-state-hover');})
181
+ .click(function(event) {
182
+ toogleVideoBox(self)
183
+ return false;
184
+ })
185
+ .appendTo(uiChatboxTitlebar),
186
+ uiChatboxTitlebarVideoText = $('<span></span>')
187
+ .addClass('ui-icon-circle-triangle-e ' + 'chat-thick ' + ' chat-videothick' )
188
+ .text('video')
189
+ .appendTo(uiChatboxTitlebarVideo),
190
+
171
191
 
172
192
  // content
173
193
  uiChatboxContent = (self.uiChatboxContent = $('<div></div>'))
@@ -175,6 +195,19 @@
175
195
  'ui-chatbox-content '
176
196
  )
177
197
  .appendTo(uiChatbox),
198
+
199
+ //VideoBox div
200
+ uiVideobox = (self.uiVideobox = $('<div></div>'))
201
+ .addClass('ui-widget-content ' +
202
+ 'ui-videobox'
203
+ )
204
+ .click(function(event) {
205
+ // anything?
206
+
207
+ })
208
+ .appendTo(uiChatboxContent),
209
+
210
+ //ChatBoxLog
178
211
  uiChatboxLog = (self.uiChatboxLog = self.element)
179
212
  //.show()
180
213
  .addClass('ui-widget-content '+
@@ -235,11 +268,13 @@
235
268
 
236
269
  // switch focus to input box when whatever clicked
237
270
  uiChatboxContent.children().click(function(){
238
- // click on any children, set focus on input box
239
- self.uiChatboxInputBox.focus();
271
+ // click on any children, set focus on input box
272
+ self.uiChatboxInputBox.focus();
240
273
  });
241
274
 
242
275
  self._setWidth(self.options.width);
276
+ self._setHeight(self.options.height);
277
+ self._setVideo(self.options.video);
243
278
  self._position(self.options.offset);
244
279
 
245
280
  self.options.boxManager.init(self);
@@ -251,22 +286,28 @@
251
286
 
252
287
  _setOption: function(option, value) {
253
288
  if(value != null){
254
- switch(option) {
255
- case "hidden":
256
- if(value) {
257
- this.uiChatbox.hide();
258
- }
259
- else {
260
- this.uiChatbox.show();
261
- }
262
- break;
263
- case "offset":
264
- this._position(value);
265
- break;
266
- case "width":
267
- this._setWidth(value);
268
- break;
269
- }
289
+ switch(option) {
290
+ case "hidden":
291
+ if(value) {
292
+ this.uiChatbox.hide();
293
+ }
294
+ else {
295
+ this.uiChatbox.show();
296
+ }
297
+ break;
298
+ case "offset":
299
+ this._position(value);
300
+ break;
301
+ case "width":
302
+ this._setWidth(value);
303
+ break;
304
+ case "height":
305
+ this._setHeight(value);
306
+ break;
307
+ case "video":
308
+ this._setVideo(value);
309
+ break;
310
+ }
270
311
  }
271
312
 
272
313
  $.Widget.prototype._setOption.apply(this, arguments);
@@ -278,6 +319,19 @@
278
319
  // this is a hack, but i can live with it so far
279
320
  this.uiChatboxInputBox.css("width", (width - 14) + "px");
280
321
  },
322
+
323
+ _setHeight: function(height) {
324
+ this.uiChatboxLog.height(height + "px");
325
+ },
326
+
327
+ _setVideo: function(videoHeight) {
328
+ this.uiVideobox.height(videoHeight + "px");
329
+ if (videoHeight==0){
330
+ this.uiVideobox.hide();
331
+ } else {
332
+ this.uiVideobox.show();
333
+ }
334
+ },
281
335
 
282
336
  _position: function(offset) {
283
337
  this.uiChatbox.css("right", offset);
@@ -11,10 +11,10 @@ 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.8')
14
+ s.add_runtime_dependency('social_stream-base', '~> 0.10.9')
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
- s.add_runtime_dependency('social_stream-linkser', '~> 0.0.5')
17
+ s.add_runtime_dependency('social_stream-linkser', '~> 0.0.6')
18
18
 
19
19
  # Development Gem dependencies
20
20
  #
metadata CHANGED
@@ -1,207 +1,134 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: social_stream
3
- version: !ruby/object:Gem::Version
4
- hash: 41
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.15.6
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 15
9
- - 5
10
- version: 0.15.5
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - GING - DIT - UPM
14
9
  - CISE - ESPOL
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2011-12-13 00:00:00 +01:00
20
- default_executable:
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
13
+ date: 2011-12-16 00:00:00.000000000Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
23
16
  name: social_stream-base
24
- prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &74507750 !ruby/object:Gem::Requirement
26
18
  none: false
27
- requirements:
19
+ requirements:
28
20
  - - ~>
29
- - !ruby/object:Gem::Version
30
- hash: 39
31
- segments:
32
- - 0
33
- - 10
34
- - 8
35
- version: 0.10.8
21
+ - !ruby/object:Gem::Version
22
+ version: 0.10.9
36
23
  type: :runtime
37
- version_requirements: *id001
38
- - !ruby/object:Gem::Dependency
39
- name: social_stream-documents
40
24
  prerelease: false
41
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *74507750
26
+ - !ruby/object:Gem::Dependency
27
+ name: social_stream-documents
28
+ requirement: &74507500 !ruby/object:Gem::Requirement
42
29
  none: false
43
- requirements:
30
+ requirements:
44
31
  - - ~>
45
- - !ruby/object:Gem::Version
46
- hash: 15
47
- segments:
48
- - 0
49
- - 5
50
- - 2
32
+ - !ruby/object:Gem::Version
51
33
  version: 0.5.2
52
34
  type: :runtime
53
- version_requirements: *id002
54
- - !ruby/object:Gem::Dependency
55
- name: social_stream-events
56
35
  prerelease: false
57
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *74507500
37
+ - !ruby/object:Gem::Dependency
38
+ name: social_stream-events
39
+ requirement: &74507270 !ruby/object:Gem::Requirement
58
40
  none: false
59
- requirements:
41
+ requirements:
60
42
  - - ~>
61
- - !ruby/object:Gem::Version
62
- hash: 23
63
- segments:
64
- - 0
65
- - 2
66
- - 0
43
+ - !ruby/object:Gem::Version
67
44
  version: 0.2.0
68
45
  type: :runtime
69
- version_requirements: *id003
70
- - !ruby/object:Gem::Dependency
71
- name: social_stream-linkser
72
46
  prerelease: false
73
- requirement: &id004 !ruby/object:Gem::Requirement
47
+ version_requirements: *74507270
48
+ - !ruby/object:Gem::Dependency
49
+ name: social_stream-linkser
50
+ requirement: &74507040 !ruby/object:Gem::Requirement
74
51
  none: false
75
- requirements:
52
+ requirements:
76
53
  - - ~>
77
- - !ruby/object:Gem::Version
78
- hash: 21
79
- segments:
80
- - 0
81
- - 0
82
- - 5
83
- version: 0.0.5
54
+ - !ruby/object:Gem::Version
55
+ version: 0.0.6
84
56
  type: :runtime
85
- version_requirements: *id004
86
- - !ruby/object:Gem::Dependency
87
- name: capybara
88
57
  prerelease: false
89
- requirement: &id005 !ruby/object:Gem::Requirement
58
+ version_requirements: *74507040
59
+ - !ruby/object:Gem::Dependency
60
+ name: capybara
61
+ requirement: &74506810 !ruby/object:Gem::Requirement
90
62
  none: false
91
- requirements:
63
+ requirements:
92
64
  - - ~>
93
- - !ruby/object:Gem::Version
94
- hash: 1
95
- segments:
96
- - 0
97
- - 3
98
- - 9
65
+ - !ruby/object:Gem::Version
99
66
  version: 0.3.9
100
67
  type: :development
101
- version_requirements: *id005
102
- - !ruby/object:Gem::Dependency
103
- name: sqlite3
104
68
  prerelease: false
105
- requirement: &id006 !ruby/object:Gem::Requirement
69
+ version_requirements: *74506810
70
+ - !ruby/object:Gem::Dependency
71
+ name: sqlite3
72
+ requirement: &74506610 !ruby/object:Gem::Requirement
106
73
  none: false
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- hash: 3
111
- segments:
112
- - 0
113
- version: "0"
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
114
78
  type: :development
115
- version_requirements: *id006
116
- - !ruby/object:Gem::Dependency
117
- name: ruby-debug
118
79
  prerelease: false
119
- requirement: &id007 !ruby/object:Gem::Requirement
120
- none: false
121
- requirements:
122
- - - ~>
123
- - !ruby/object:Gem::Version
124
- hash: 49
125
- segments:
126
- - 0
127
- - 10
128
- - 3
129
- version: 0.10.3
130
- type: :development
131
- version_requirements: *id007
132
- - !ruby/object:Gem::Dependency
80
+ version_requirements: *74506610
81
+ - !ruby/object:Gem::Dependency
133
82
  name: rspec-rails
134
- prerelease: false
135
- requirement: &id008 !ruby/object:Gem::Requirement
83
+ requirement: &74506320 !ruby/object:Gem::Requirement
136
84
  none: false
137
- requirements:
85
+ requirements:
138
86
  - - ~>
139
- - !ruby/object:Gem::Version
140
- hash: 27
141
- segments:
142
- - 2
143
- - 5
144
- - 0
87
+ - !ruby/object:Gem::Version
145
88
  version: 2.5.0
146
89
  type: :development
147
- version_requirements: *id008
148
- - !ruby/object:Gem::Dependency
149
- name: factory_girl
150
90
  prerelease: false
151
- requirement: &id009 !ruby/object:Gem::Requirement
91
+ version_requirements: *74506320
92
+ - !ruby/object:Gem::Dependency
93
+ name: factory_girl
94
+ requirement: &74506070 !ruby/object:Gem::Requirement
152
95
  none: false
153
- requirements:
96
+ requirements:
154
97
  - - ~>
155
- - !ruby/object:Gem::Version
156
- hash: 31
157
- segments:
158
- - 1
159
- - 3
160
- - 2
98
+ - !ruby/object:Gem::Version
161
99
  version: 1.3.2
162
100
  type: :development
163
- version_requirements: *id009
164
- - !ruby/object:Gem::Dependency
165
- name: forgery
166
101
  prerelease: false
167
- requirement: &id010 !ruby/object:Gem::Requirement
102
+ version_requirements: *74506070
103
+ - !ruby/object:Gem::Dependency
104
+ name: forgery
105
+ requirement: &74505840 !ruby/object:Gem::Requirement
168
106
  none: false
169
- requirements:
107
+ requirements:
170
108
  - - ~>
171
- - !ruby/object:Gem::Version
172
- hash: 31
173
- segments:
174
- - 0
175
- - 3
176
- - 6
109
+ - !ruby/object:Gem::Version
177
110
  version: 0.3.6
178
111
  type: :development
179
- version_requirements: *id010
180
- - !ruby/object:Gem::Dependency
181
- name: ci_reporter
182
112
  prerelease: false
183
- requirement: &id011 !ruby/object:Gem::Requirement
113
+ version_requirements: *74505840
114
+ - !ruby/object:Gem::Dependency
115
+ name: ci_reporter
116
+ requirement: &74505610 !ruby/object:Gem::Requirement
184
117
  none: false
185
- requirements:
118
+ requirements:
186
119
  - - ~>
187
- - !ruby/object:Gem::Version
188
- hash: 7
189
- segments:
190
- - 1
191
- - 6
192
- - 4
120
+ - !ruby/object:Gem::Version
193
121
  version: 1.6.4
194
122
  type: :development
195
- version_requirements: *id011
196
- description: Social Stream is a Ruby on Rails engine for building social network websites. It supports contacts, posts, file uploads, private messages and many more.
123
+ prerelease: false
124
+ version_requirements: *74505610
125
+ description: Social Stream is a Ruby on Rails engine for building social network websites.
126
+ It supports contacts, posts, file uploads, private messages and many more.
197
127
  email:
198
128
  executables: []
199
-
200
129
  extensions: []
201
-
202
130
  extra_rdoc_files: []
203
-
204
- files:
131
+ files:
205
132
  - .gitignore
206
133
  - .rspec
207
134
  - .travis.yml
@@ -1195,7 +1122,7 @@ files:
1195
1122
  - presence/app/assets/javascripts/social_stream-presence.js
1196
1123
  - presence/app/assets/javascripts/store.js
1197
1124
  - presence/app/assets/javascripts/xmpp_client_management.js.erb
1198
- - presence/app/assets/stylesheets/chat.css
1125
+ - presence/app/assets/stylesheets/chat.css.scss
1199
1126
  - presence/app/assets/stylesheets/social_stream-presence.css
1200
1127
  - presence/app/controllers/xmpp_controller.rb
1201
1128
  - presence/app/helpers/xmpp_helper.rb
@@ -1356,39 +1283,29 @@ files:
1356
1283
  - spec/support/components.rb
1357
1284
  - spec/support/db.rb
1358
1285
  - spec/support/optimizations.rb
1359
- has_rdoc: true
1360
1286
  homepage: http://social-stream.dit.upm.es/
1361
1287
  licenses: []
1362
-
1363
1288
  post_install_message:
1364
1289
  rdoc_options: []
1365
-
1366
- require_paths:
1290
+ require_paths:
1367
1291
  - lib
1368
- required_ruby_version: !ruby/object:Gem::Requirement
1292
+ required_ruby_version: !ruby/object:Gem::Requirement
1369
1293
  none: false
1370
- requirements:
1371
- - - ">="
1372
- - !ruby/object:Gem::Version
1373
- hash: 3
1374
- segments:
1375
- - 0
1376
- version: "0"
1377
- required_rubygems_version: !ruby/object:Gem::Requirement
1294
+ requirements:
1295
+ - - ! '>='
1296
+ - !ruby/object:Gem::Version
1297
+ version: '0'
1298
+ required_rubygems_version: !ruby/object:Gem::Requirement
1378
1299
  none: false
1379
- requirements:
1380
- - - ">="
1381
- - !ruby/object:Gem::Version
1382
- hash: 3
1383
- segments:
1384
- - 0
1385
- version: "0"
1300
+ requirements:
1301
+ - - ! '>='
1302
+ - !ruby/object:Gem::Version
1303
+ version: '0'
1386
1304
  requirements: []
1387
-
1388
1305
  rubyforge_project:
1389
- rubygems_version: 1.6.2
1306
+ rubygems_version: 1.8.12
1390
1307
  signing_key:
1391
1308
  specification_version: 3
1392
1309
  summary: A core for building social network websites
1393
1310
  test_files: []
1394
-
1311
+ has_rdoc: