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.
- data/base/app/assets/stylesheets/base.css.scss +1 -1
- data/base/app/models/activity.rb +1 -1
- data/base/app/models/actor.rb +24 -10
- data/base/app/views/layouts/application.html.erb +1 -0
- data/base/lib/social_stream/base/version.rb +1 -1
- data/lib/social_stream/version.rb +1 -1
- data/linkser/lib/social_stream/linkser/version.rb +1 -1
- data/linkser/social_stream-linkser.gemspec +2 -2
- data/presence/app/assets/javascripts/chat_interface_manager.js.erb +2 -1
- data/presence/app/assets/javascripts/chat_parser.js +14 -0
- data/presence/app/assets/javascripts/chat_window_manager.js +70 -22
- data/presence/app/assets/javascripts/xmpp_client_management.js.erb +2 -2
- data/presence/app/assets/stylesheets/{chat.css → chat.css.scss} +69 -48
- data/presence/ejabberd/ejabberd_files.zip +0 -0
- data/presence/ejabberd/ejabberd_scripts/emanagement +4 -4
- data/presence/ejabberd/ejabberd_scripts/reset_connection_script +6 -3
- data/presence/ejabberd/ejabberd_scripts/rest_api_client_script +5 -2
- data/presence/ejabberd/ejabberd_scripts/synchronize_presence_script +6 -3
- data/presence/ejabberd/mod_sspresence/mod_sspresence.beam +0 -0
- data/presence/lib/social_stream/presence/models/buddy_manager.rb +5 -4
- data/presence/lib/social_stream/presence/version.rb +1 -1
- data/presence/lib/social_stream/presence/xmpp_server_order.rb +14 -3
- data/presence/lib/tasks/presence/installer.rake +4 -2
- data/presence/vendor/assets/javascripts/jquery.ui.chatbox.js +72 -18
- data/social_stream.gemspec +2 -2
- 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
|
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
|
Binary file
|
@@ -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,
|
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,
|
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,
|
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,
|
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)
|
@@ -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,
|
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
|
-
|
70
|
-
|
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
|
-
|
239
|
-
|
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
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
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);
|
data/social_stream.gemspec
CHANGED
@@ -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.
|
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.
|
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
|
-
|
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
|
-
|
20
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
120
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
196
|
-
|
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
|
-
|
1374
|
-
|
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
|
-
|
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.
|
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:
|