social_stream 0.17.0 → 0.17.1
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 +7 -0
- data/base/app/assets/stylesheets/cheesecake.css.scss +57 -10
- data/base/app/assets/stylesheets/header.css.scss +2 -2
- data/base/app/controllers/settings_controller.rb +5 -1
- data/base/app/models/relation/custom.rb +2 -2
- data/base/app/views/actors/_actor_cheesecake.html.erb +20 -0
- data/base/app/views/cheesecake/_index.html.erb +54 -2
- data/base/app/views/layouts/_header_dropdown_menu_sessions.html.erb +1 -1
- data/base/app/views/settings/_language.html.erb +1 -1
- data/base/config/locales/en.yml +7 -0
- data/base/config/locales/es.yml +7 -0
- data/base/db/migrate/20120111120920_remove_language_default.rb +9 -0
- data/base/lib/social_stream/base/version.rb +1 -1
- data/base/lib/social_stream/controllers/subjects.rb +1 -1
- data/base/lib/tasks/db/populate.rake +16 -8
- data/base/social_stream-base.gemspec +1 -1
- data/base/spec/models/actor_spec.rb +2 -2
- data/lib/social_stream/version.rb +1 -1
- data/social_stream.gemspec +1 -1
- metadata +26 -25
data/README.rdoc
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Social Stream is an engine for Ruby on Rails. It provides a robust and flexible core
|
|
3
3
|
with social networking features and activity streams for building websites.
|
|
4
4
|
|
|
5
|
+
{<img src="https://secure.travis-ci.org/ging/social_stream.png" />}[http://travis-ci.org/ging/social_stream]
|
|
6
|
+
{<img src="https://gemnasium.com/ging/social_stream.png" />}[https://gemnasium.com/ging/social_stream]
|
|
7
|
+
|
|
5
8
|
== Social networking
|
|
6
9
|
Social networks are a new paradigm on web application design. Social networking platforms stand
|
|
7
10
|
among the most popular websites, while many content oriented applications are supporting social
|
|
@@ -43,6 +46,10 @@ Do not forget to migrate your database
|
|
|
43
46
|
|
|
44
47
|
rake db:migrate
|
|
45
48
|
|
|
49
|
+
Since {Social Stream}[http://github.com/ging/social_stream] depends on {Devise}[https://github.com/plataformatec/devise], make sure you follow {its setup instructions}[https://github.com/plataformatec/devise/tree/master/lib/generators/templates#readme]. Specifically, make sure you set the default URL options for your environments at <tt>config/environments/*.rb</tt> with something like:
|
|
50
|
+
|
|
51
|
+
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
|
|
52
|
+
|
|
46
53
|
= Social Stream modules
|
|
47
54
|
|
|
48
55
|
Social Stream is divided in modules. Developers can customize their social
|
|
@@ -32,24 +32,71 @@
|
|
|
32
32
|
|
|
33
33
|
#contacts_grid {
|
|
34
34
|
width: 300px;
|
|
35
|
-
height:
|
|
35
|
+
height: 336px;
|
|
36
36
|
overflow: hidden;
|
|
37
37
|
position: relative;
|
|
38
38
|
float: left;
|
|
39
39
|
}
|
|
40
|
+
#contacts_grid_extra {
|
|
41
|
+
width: 270px;
|
|
42
|
+
padding: 5px;
|
|
43
|
+
height: 10px;
|
|
44
|
+
border: solid 1px $input-border-color;
|
|
45
|
+
text-align: center;
|
|
46
|
+
float: right;
|
|
47
|
+
margin-right: 20px;
|
|
48
|
+
cursor: pointer;
|
|
49
|
+
}
|
|
40
50
|
#contacts_grid .actor {
|
|
41
|
-
width:
|
|
42
|
-
height:
|
|
51
|
+
width: 48px;
|
|
52
|
+
height: 48px;
|
|
43
53
|
float: left;
|
|
44
|
-
margin:
|
|
54
|
+
margin: 4px;
|
|
45
55
|
}
|
|
46
56
|
#contacts_grid .actor.focused {
|
|
47
|
-
border: 2px solid
|
|
48
|
-
|
|
49
|
-
margin: 3px;
|
|
57
|
+
border: 2px solid $main-color;
|
|
58
|
+
margin: 0px;
|
|
50
59
|
}
|
|
51
60
|
#contacts_grid .actor img {
|
|
52
|
-
width:
|
|
53
|
-
height:
|
|
61
|
+
width: 48px;
|
|
62
|
+
height: 48px;
|
|
63
|
+
}
|
|
64
|
+
#contacts_grid .actor.focused img {
|
|
65
|
+
width: 52px;
|
|
66
|
+
height: 52px;
|
|
67
|
+
}
|
|
68
|
+
#contacts_grid .actor.focused {
|
|
69
|
+
width: 52px;
|
|
70
|
+
height: 52px;
|
|
71
|
+
float: left;
|
|
72
|
+
margin: 0px;
|
|
73
|
+
}
|
|
74
|
+
#contacts_grid .actor .logo {
|
|
75
|
+
display: inline-block;
|
|
76
|
+
}
|
|
77
|
+
#contacts_grid .actor .link, #contacts_grid .actor .brief {
|
|
78
|
+
display: none;
|
|
79
|
+
}
|
|
80
|
+
.cheesecake_actor_tipsy.tipsy {
|
|
81
|
+
padding-top: 2px;
|
|
82
|
+
display: none;
|
|
83
|
+
}
|
|
84
|
+
.cheesecake_actor_tipsy.tipsy .tipsy-arrow {
|
|
85
|
+
display: none;
|
|
86
|
+
}
|
|
87
|
+
.cheesecake_actor_tipsy.tipsy .tipsy-inner {
|
|
88
|
+
background-color: $text-over-main;
|
|
89
|
+
padding: 9px;
|
|
90
|
+
border: 1px solid $main-color;
|
|
91
|
+
}
|
|
92
|
+
.cheesecake_actor_tipsy.tipsy .sub-block {
|
|
93
|
+
width: 100%;
|
|
94
|
+
word-wrap: break-word;
|
|
95
|
+
height: 50px;
|
|
96
|
+
overflow: hidden;
|
|
97
|
+
display: inline-block;
|
|
98
|
+
text-align: left;
|
|
99
|
+
}
|
|
100
|
+
.cheesecake_actor_tipsy.tipsy .logo {
|
|
101
|
+
display: none;
|
|
54
102
|
}
|
|
55
|
-
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
#representation { display: inline; padding-left:3px; padding-right:3px;}
|
|
32
32
|
.switch_pending_count { color: $text-over-main; text-align: right;
|
|
33
33
|
background: transparent url('btn/header_notifications.png') no-repeat center center;
|
|
34
|
-
padding: 2px 10px 4px 11px !important; margin:
|
|
34
|
+
padding: 2px 10px 4px 11px !important; margin: 2px 5px 0 5px !important; float: right; }
|
|
35
35
|
.txt_config {color: $text-over-main; vertical-align: top; display: inline; padding-top: 2px;
|
|
36
36
|
border-right: thin solid; padding-right: 3px;}
|
|
37
37
|
.txt_config2 {color: $text-over-main; vertical-align: top; display: inline; padding-top: 2px; padding-right: 3px;}
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
#header_dropdown_menu ul li a{padding: .40em 1em .70em 2.5em;}
|
|
52
52
|
#header_dropdown_menu ul li a:hover{color:$main-color;}
|
|
53
53
|
#header_dropdown_menu ul li ul li a{padding: .40em 1em .70em 1em;}
|
|
54
|
-
#header_dropdown_menu ul li ul li ul li {width: 170px;}
|
|
54
|
+
#header_dropdown_menu ul li ul li ul li {width: 170px; min-height: 25px; }
|
|
55
55
|
#header_dropdown_menu ul li ul li ul li a{padding: .40em 1em .70em 2.5em; display:inline;}
|
|
56
56
|
#header_dropdown_menu ul li ul li ul{position: absolute; left: -170px;}
|
|
57
57
|
#header_dropdown_menu a.session_change{background: transparent url('btn/arrow_session_change.png') no-repeat 3px 6px;}
|
|
@@ -27,7 +27,11 @@ class SettingsController < ApplicationController
|
|
|
27
27
|
#Preferred language setting
|
|
28
28
|
if params[:language].present?
|
|
29
29
|
lang = params[:language].to_s
|
|
30
|
-
|
|
30
|
+
if lang == 'browser'
|
|
31
|
+
current_user.language = nil
|
|
32
|
+
else
|
|
33
|
+
current_user.language = lang[0..1]
|
|
34
|
+
end
|
|
31
35
|
end
|
|
32
36
|
end
|
|
33
37
|
|
|
@@ -99,9 +99,9 @@ class Relation::Custom < Relation
|
|
|
99
99
|
|
|
100
100
|
# JSON compatible with SocialCheesecake
|
|
101
101
|
def to_cheesecake_hash(options = {})
|
|
102
|
-
{ :name => name
|
|
102
|
+
{:id => id, :name => name}.tap do |hash|
|
|
103
103
|
if options[:subsector]
|
|
104
|
-
hash[:actors] = ties.map{ |t| [t.contact.receiver_id] }.uniq
|
|
104
|
+
hash[:actors] = ties.map{ |t| [t.contact.receiver_id, t.contact.receiver.name] }.uniq
|
|
105
105
|
else
|
|
106
106
|
hash[:subsectors] = ( weaker.present? ?
|
|
107
107
|
weaker.map{ |w| w.to_cheesecake_hash(:subsector => true) } :
|
|
@@ -2,3 +2,23 @@
|
|
|
2
2
|
<%= image_tag(actor.logo.url , :size => "64x64", :alt => actor.name ) %>
|
|
3
3
|
<% end %>
|
|
4
4
|
|
|
5
|
+
<div id="<%= dom_id(actor)%>_details" style="display:none;">
|
|
6
|
+
<%= link_to truncate_name(actor.name), actor.subject %>
|
|
7
|
+
</div>
|
|
8
|
+
|
|
9
|
+
<%= javascript_tag do %>
|
|
10
|
+
$(document).ready(function(){
|
|
11
|
+
$('#<%= dom_id(actor)%>').tipsy({
|
|
12
|
+
delayIn: 700,
|
|
13
|
+
delayOut: 0,
|
|
14
|
+
gravity: 'n',
|
|
15
|
+
className: 'cheesecake_actor_tipsy',
|
|
16
|
+
html: true,
|
|
17
|
+
hoverable: true,
|
|
18
|
+
opacity: 0.95,
|
|
19
|
+
title: function(){
|
|
20
|
+
return $('#<%= dom_id(actor)%>_details').html();
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
<% end %>
|
|
@@ -3,12 +3,21 @@
|
|
|
3
3
|
<div id="contacts_filter">
|
|
4
4
|
<%= text_field_tag :filter_query, nil,:autocomplete => :off, :id => :contacts_filter_input %>
|
|
5
5
|
</div>
|
|
6
|
-
<div id="contacts_grid">
|
|
7
|
-
|
|
6
|
+
<div id="contacts_grid">
|
|
8
7
|
<% @actors.each do |actor|%>
|
|
9
8
|
<%= render :partial => "actors/actor_cheesecake", :locals => {:actor => actor} %>
|
|
10
9
|
<% end %>
|
|
11
10
|
</div>
|
|
11
|
+
<div id="contacts_grid_extra" style="display:none;">
|
|
12
|
+
<span id="contacts_grid_extra_total"></span> <span id="contacts_grid_extra_text"></span>
|
|
13
|
+
</div>
|
|
14
|
+
<%= javascript_tag do %>
|
|
15
|
+
$("#contacts_grid_extra").click(function(){
|
|
16
|
+
$("#contacts_grid").css("overflow-y","scroll");
|
|
17
|
+
$("#contacts_grid").scrollTo("+=308px", 800, {axis:'y'});
|
|
18
|
+
$("#contacts_grid_extra").hide();
|
|
19
|
+
});
|
|
20
|
+
<% end %>
|
|
12
21
|
<br class="clearfloat">
|
|
13
22
|
<%= javascript_tag do %>
|
|
14
23
|
$(function(){
|
|
@@ -31,8 +40,51 @@
|
|
|
31
40
|
rMax : 200,
|
|
32
41
|
center: {x : 220, y : 220}
|
|
33
42
|
};
|
|
43
|
+
cheesecakeData.highlightedSectorCallback = function(cheesecake){
|
|
44
|
+
$("#contacts_grid").css("overflow-y","hidden");
|
|
45
|
+
var sector = cheesecake.highlightedSector;
|
|
46
|
+
var actors = [];
|
|
47
|
+
var visibles = 0;
|
|
48
|
+
var extra_text = ["<%= t('cheesecake.hidden_contact.one')%>","<%= t('cheesecake.hidden_contact.other')%>"];
|
|
49
|
+
if(sector){
|
|
50
|
+
actors = sector.actors;
|
|
51
|
+
}else{
|
|
52
|
+
actors = cheesecake.grid.actors;
|
|
53
|
+
}
|
|
54
|
+
for(var i in actors){
|
|
55
|
+
if(actors[i].isVisible()){
|
|
56
|
+
visibles++;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if(visibles <= 30){
|
|
60
|
+
$("#contacts_grid_extra").hide();
|
|
61
|
+
}else{
|
|
62
|
+
$("#contacts_grid_extra_total").html(visibles - 30);
|
|
63
|
+
if((visibles - 30) == 1){
|
|
64
|
+
$("#contacts_grid_extra_text").html(extra_text[0]);
|
|
65
|
+
}else{
|
|
66
|
+
$("#contacts_grid_extra_text").html(extra_text[1]);
|
|
67
|
+
}
|
|
68
|
+
$("#contacts_grid_extra").show();
|
|
69
|
+
$("#contacts_grid").scrollTo(0, 0);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
34
72
|
cheesecakeData.sectors = <%= raw(current_subject.cheesecake_json) %>.sectors;
|
|
35
73
|
var cheese = new socialCheesecake.Cheesecake(cheesecakeData);
|
|
74
|
+
$("#contacts_filter_input").keyup(function(){
|
|
75
|
+
cheese.searchEngine.filter($("#contacts_filter_input").val());
|
|
76
|
+
cheesecakeData.highlightedSectorCallback(cheese);
|
|
77
|
+
});
|
|
78
|
+
if(cheese.grid.actors.length > 30){
|
|
79
|
+
var extra_text = ["<%= t('cheesecake.hidden_contact.one')%>","<%= t('cheesecake.hidden_contact.other')%>"];
|
|
80
|
+
$("#contacts_grid_extra_total").html(cheese.grid.actors.length - 30);
|
|
81
|
+
if((cheese.grid.actors.length - 30) == 1){
|
|
82
|
+
$("#contacts_grid_extra_text").html(extra_text[0]);
|
|
83
|
+
}else{
|
|
84
|
+
$("#contacts_grid_extra_text").html(extra_text[1]);
|
|
85
|
+
}
|
|
86
|
+
$("#contacts_grid_extra").show();
|
|
87
|
+
}
|
|
36
88
|
}
|
|
37
89
|
<% end %>
|
|
38
90
|
</div>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<% representations.each do |representation| %>
|
|
7
7
|
<li>
|
|
8
8
|
<%= content_tag :span do %>
|
|
9
|
-
<%= link_to truncate_name(representation.name, :length => 15), { :s => representation.slug }, { :style => "background: transparent url('#{ image_path representation.logo.url(:representation)}') no-repeat
|
|
9
|
+
<%= link_to truncate_name(representation.name, :length => 15), { :s => representation.slug }, { :style => "background: transparent url('#{ image_path representation.logo.url(:representation)}') no-repeat 0% 5px;margin-left:2px;" } %>
|
|
10
10
|
<% pending_total = representation.mailbox.notifications.not_trashed.unread.count %>
|
|
11
11
|
<%= link_to content_tag(:span, pending_total.to_s, :class => "switch_pending_count"), notifications_path(:s => representation.slug), { :style => 'margin: 1px; padding: 0;' } if pending_total > 0 %>
|
|
12
12
|
<% end %>
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<div class="form_row">
|
|
18
18
|
<div class="form_label"><%= label_tag :language, t('settings.lang_change.name') %></div>
|
|
19
19
|
<div class="form_field">
|
|
20
|
-
<%= select_tag(:language, options_for_select(I18n.available_locales.map{|l| [ l.to_s, l.to_s ] }, current_user.language), :class => 'form_tag', :onchange => "$(\'#form_lang\').submit();" )%>
|
|
20
|
+
<%= select_tag(:language, options_for_select([[t('lang.browser'), 'browser']] + I18n.available_locales.map{|l| [ t("lang_names.#{l.to_s}") + ' (' + l.to_s + ')' , l.to_s ] }, (current_user.language.blank? ? 'browser' : current_user.language)), :class => 'form_tag', :onchange => "$(\'#form_lang\').submit();" )%>
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
|
23
23
|
<div class="actions center">
|
data/base/config/locales/en.yml
CHANGED
|
@@ -90,6 +90,10 @@ en:
|
|
|
90
90
|
create: "Create"
|
|
91
91
|
save: "Save"
|
|
92
92
|
update: "Update"
|
|
93
|
+
cheesecake:
|
|
94
|
+
hidden_contact:
|
|
95
|
+
one: "contact hidden"
|
|
96
|
+
other: "contacts hidden"
|
|
93
97
|
comment:
|
|
94
98
|
input: "Write a comment..."
|
|
95
99
|
confirm_delete: "Delete comment?"
|
|
@@ -475,3 +479,6 @@ en:
|
|
|
475
479
|
all: "All users"
|
|
476
480
|
all_n: "All users (%{count})"
|
|
477
481
|
welcome: "Welcome to %{site}!"
|
|
482
|
+
lang:
|
|
483
|
+
browser: "Auto-detect browser language"
|
|
484
|
+
none: "Language independent content"
|
data/base/config/locales/es.yml
CHANGED
|
@@ -90,6 +90,10 @@ es:
|
|
|
90
90
|
create: "Crear"
|
|
91
91
|
save: "Guardar"
|
|
92
92
|
update: "Actualizar"
|
|
93
|
+
cheesecake:
|
|
94
|
+
hidden_contact:
|
|
95
|
+
one: "contacto oculto"
|
|
96
|
+
other: "contactos ocultos"
|
|
93
97
|
comment:
|
|
94
98
|
input: "Comentar..."
|
|
95
99
|
confirm_delete: "¿Borrar commentario?"
|
|
@@ -474,4 +478,7 @@ es:
|
|
|
474
478
|
all: "Todos los usuarios"
|
|
475
479
|
all_n: "Todos los usuarios (%{count})"
|
|
476
480
|
welcome: "¡Bienvenid@ a %{site}!"
|
|
481
|
+
lang:
|
|
482
|
+
browser: "Autodetectar el idioma del navegador"
|
|
483
|
+
none: "Contenido independiente del idioma"
|
|
477
484
|
|
|
@@ -10,7 +10,7 @@ module SocialStream
|
|
|
10
10
|
module InstanceMethods
|
|
11
11
|
# Overwrite {SocialStream::Controllers::Helpers::InstanceMethods#profile_subject}
|
|
12
12
|
def profile_subject
|
|
13
|
-
!resource.
|
|
13
|
+
!resource.new_record? && resource || current_subject
|
|
14
14
|
end
|
|
15
15
|
end
|
|
16
16
|
end
|
|
@@ -12,6 +12,7 @@ namespace :db do
|
|
|
12
12
|
require 'forgery'
|
|
13
13
|
|
|
14
14
|
LOGOS_PATH = File.join(Rails.root, 'lib', 'logos')
|
|
15
|
+
LOGOS_TOTAL = (ENV["LOGOS_TOTAL"] || 10).to_i if ENV["LOGOS_TOTAL"].present?
|
|
15
16
|
USERS = (ENV["USERS"] || 9).to_i
|
|
16
17
|
GROUPS = (ENV["GROUPS"] || 10).to_i
|
|
17
18
|
CHEESECAKE = (ENV["CHEESECAKE"].present? || false)
|
|
@@ -41,8 +42,13 @@ namespace :db do
|
|
|
41
42
|
|
|
42
43
|
def set_logos(klass)
|
|
43
44
|
klass.all.each do |i|
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
if LOGOS_TOTAL
|
|
46
|
+
logo = Dir[File.join(LOGOS_PATH, klass.to_s.tableize, "#{ rand(LOGOS_TOTAL) + 1 }.*")].first
|
|
47
|
+
avatar = Dir[File.join(LOGOS_PATH, klass.to_s.tableize, "#{ rand(LOGOS_TOTAL) + 1 }.*")].first
|
|
48
|
+
else
|
|
49
|
+
logo = Dir[File.join(LOGOS_PATH, klass.to_s.tableize, "#{ i.id }.*")].first
|
|
50
|
+
avatar = Dir[File.join(LOGOS_PATH, klass.to_s.tableize, "#{ i.id }.*")].first
|
|
51
|
+
end
|
|
46
52
|
|
|
47
53
|
if avatar.present? && File.exists?(avatar)
|
|
48
54
|
Avatar.copy_to_temp_file(avatar)
|
|
@@ -120,16 +126,18 @@ namespace :db do
|
|
|
120
126
|
available_actors.each do |a|
|
|
121
127
|
actors = available_actors.dup - Array(a)
|
|
122
128
|
relations = a.relation_customs + Array.wrap(a.relation_reject)
|
|
123
|
-
break if actors.size==0
|
|
124
|
-
Forgery::Basic.number(:at_most => actors.size).times do
|
|
125
|
-
actor = actors.delete_at((rand * actors.size).to_i)
|
|
126
|
-
a.contact_to!(actor).relation_ids = Array(Forgery::Extensions::Array.new(relations).random.id) unless a==actor
|
|
127
|
-
end
|
|
129
|
+
break if actors.size==0
|
|
128
130
|
if CHEESECAKE
|
|
129
131
|
actor = Actor.first
|
|
130
132
|
unless a==actor
|
|
131
133
|
puts a.name + " connecting with " + actor.name
|
|
132
|
-
a.contact_to!(actor).relation_ids = Array(Forgery::Extensions::Array.new(
|
|
134
|
+
a.contact_to!(actor).relation_ids = Array(Forgery::Extensions::Array.new(a.relation_customs).random.id)
|
|
135
|
+
actor.contact_to!(a).relation_ids = Array(Forgery::Extensions::Array.new(actor.relation_customs).random.id)
|
|
136
|
+
end
|
|
137
|
+
else
|
|
138
|
+
Forgery::Basic.number(:at_most => actors.size).times do
|
|
139
|
+
actor = actors.delete_at((rand * actors.size).to_i)
|
|
140
|
+
a.contact_to!(actor).relation_ids = Array(Forgery::Extensions::Array.new(relations).random.id) unless a==actor
|
|
133
141
|
end
|
|
134
142
|
end
|
|
135
143
|
end
|
|
@@ -56,7 +56,7 @@ Gem::Specification.new do |s|
|
|
|
56
56
|
# Autolink text blocks
|
|
57
57
|
s.add_runtime_dependency('rails_autolink', '~> 1.0.4')
|
|
58
58
|
# SocialCheesecake
|
|
59
|
-
s.add_runtime_dependency('social_cheesecake','~> 0.
|
|
59
|
+
s.add_runtime_dependency('social_cheesecake','~> 0.2.0')
|
|
60
60
|
|
|
61
61
|
# Development gem dependencies
|
|
62
62
|
#
|
|
@@ -57,8 +57,8 @@ describe Actor do
|
|
|
57
57
|
it "should build json" do
|
|
58
58
|
hash = {
|
|
59
59
|
:sectors => @user.relation_customs.map do |r|
|
|
60
|
-
{ :name => r.name,
|
|
61
|
-
:subsectors => [ { :name => r.name, :actors => [] } ]
|
|
60
|
+
{ :id => r.id, :name => r.name,
|
|
61
|
+
:subsectors => [ { :id => r.id, :name => r.name, :actors => [] } ]
|
|
62
62
|
}
|
|
63
63
|
end
|
|
64
64
|
}
|
data/social_stream.gemspec
CHANGED
|
@@ -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.12.
|
|
14
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.12.1')
|
|
15
15
|
s.add_runtime_dependency('social_stream-documents', '~> 0.7.0')
|
|
16
16
|
s.add_runtime_dependency('social_stream-events', '~> 0.4.0')
|
|
17
17
|
s.add_runtime_dependency('social_stream-linkser', '~> 0.2.0')
|
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.17.
|
|
4
|
+
version: 0.17.1
|
|
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: 2012-01-
|
|
13
|
+
date: 2012-01-13 00:00:00.000000000Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: social_stream-base
|
|
17
|
-
requirement: &
|
|
17
|
+
requirement: &80375130 !ruby/object:Gem::Requirement
|
|
18
18
|
none: false
|
|
19
19
|
requirements:
|
|
20
20
|
- - ~>
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: 0.12.
|
|
22
|
+
version: 0.12.1
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
|
-
version_requirements: *
|
|
25
|
+
version_requirements: *80375130
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: social_stream-documents
|
|
28
|
-
requirement: &
|
|
28
|
+
requirement: &81047060 !ruby/object:Gem::Requirement
|
|
29
29
|
none: false
|
|
30
30
|
requirements:
|
|
31
31
|
- - ~>
|
|
@@ -33,10 +33,10 @@ dependencies:
|
|
|
33
33
|
version: 0.7.0
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
|
-
version_requirements: *
|
|
36
|
+
version_requirements: *81047060
|
|
37
37
|
- !ruby/object:Gem::Dependency
|
|
38
38
|
name: social_stream-events
|
|
39
|
-
requirement: &
|
|
39
|
+
requirement: &81455940 !ruby/object:Gem::Requirement
|
|
40
40
|
none: false
|
|
41
41
|
requirements:
|
|
42
42
|
- - ~>
|
|
@@ -44,10 +44,10 @@ dependencies:
|
|
|
44
44
|
version: 0.4.0
|
|
45
45
|
type: :runtime
|
|
46
46
|
prerelease: false
|
|
47
|
-
version_requirements: *
|
|
47
|
+
version_requirements: *81455940
|
|
48
48
|
- !ruby/object:Gem::Dependency
|
|
49
49
|
name: social_stream-linkser
|
|
50
|
-
requirement: &
|
|
50
|
+
requirement: &81467210 !ruby/object:Gem::Requirement
|
|
51
51
|
none: false
|
|
52
52
|
requirements:
|
|
53
53
|
- - ~>
|
|
@@ -55,10 +55,10 @@ dependencies:
|
|
|
55
55
|
version: 0.2.0
|
|
56
56
|
type: :runtime
|
|
57
57
|
prerelease: false
|
|
58
|
-
version_requirements: *
|
|
58
|
+
version_requirements: *81467210
|
|
59
59
|
- !ruby/object:Gem::Dependency
|
|
60
60
|
name: social_stream-presence
|
|
61
|
-
requirement: &
|
|
61
|
+
requirement: &81470040 !ruby/object:Gem::Requirement
|
|
62
62
|
none: false
|
|
63
63
|
requirements:
|
|
64
64
|
- - ~>
|
|
@@ -66,10 +66,10 @@ dependencies:
|
|
|
66
66
|
version: 0.3.0
|
|
67
67
|
type: :runtime
|
|
68
68
|
prerelease: false
|
|
69
|
-
version_requirements: *
|
|
69
|
+
version_requirements: *81470040
|
|
70
70
|
- !ruby/object:Gem::Dependency
|
|
71
71
|
name: capybara
|
|
72
|
-
requirement: &
|
|
72
|
+
requirement: &81471880 !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: *
|
|
80
|
+
version_requirements: *81471880
|
|
81
81
|
- !ruby/object:Gem::Dependency
|
|
82
82
|
name: sqlite3
|
|
83
|
-
requirement: &
|
|
83
|
+
requirement: &81473830 !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: *
|
|
91
|
+
version_requirements: *81473830
|
|
92
92
|
- !ruby/object:Gem::Dependency
|
|
93
93
|
name: rspec-rails
|
|
94
|
-
requirement: &
|
|
94
|
+
requirement: &82029890 !ruby/object:Gem::Requirement
|
|
95
95
|
none: false
|
|
96
96
|
requirements:
|
|
97
97
|
- - ~>
|
|
@@ -99,10 +99,10 @@ dependencies:
|
|
|
99
99
|
version: 2.5.0
|
|
100
100
|
type: :development
|
|
101
101
|
prerelease: false
|
|
102
|
-
version_requirements: *
|
|
102
|
+
version_requirements: *82029890
|
|
103
103
|
- !ruby/object:Gem::Dependency
|
|
104
104
|
name: factory_girl
|
|
105
|
-
requirement: &
|
|
105
|
+
requirement: &83136780 !ruby/object:Gem::Requirement
|
|
106
106
|
none: false
|
|
107
107
|
requirements:
|
|
108
108
|
- - ~>
|
|
@@ -110,10 +110,10 @@ dependencies:
|
|
|
110
110
|
version: 1.3.2
|
|
111
111
|
type: :development
|
|
112
112
|
prerelease: false
|
|
113
|
-
version_requirements: *
|
|
113
|
+
version_requirements: *83136780
|
|
114
114
|
- !ruby/object:Gem::Dependency
|
|
115
115
|
name: forgery
|
|
116
|
-
requirement: &
|
|
116
|
+
requirement: &83519560 !ruby/object:Gem::Requirement
|
|
117
117
|
none: false
|
|
118
118
|
requirements:
|
|
119
119
|
- - ~>
|
|
@@ -121,10 +121,10 @@ dependencies:
|
|
|
121
121
|
version: 0.4.2
|
|
122
122
|
type: :development
|
|
123
123
|
prerelease: false
|
|
124
|
-
version_requirements: *
|
|
124
|
+
version_requirements: *83519560
|
|
125
125
|
- !ruby/object:Gem::Dependency
|
|
126
126
|
name: ci_reporter
|
|
127
|
-
requirement: &
|
|
127
|
+
requirement: &83620270 !ruby/object:Gem::Requirement
|
|
128
128
|
none: false
|
|
129
129
|
requirements:
|
|
130
130
|
- - ~>
|
|
@@ -132,7 +132,7 @@ dependencies:
|
|
|
132
132
|
version: 1.6.4
|
|
133
133
|
type: :development
|
|
134
134
|
prerelease: false
|
|
135
|
-
version_requirements: *
|
|
135
|
+
version_requirements: *83620270
|
|
136
136
|
description: Social Stream is a Ruby on Rails engine for building social network websites.
|
|
137
137
|
It supports contacts, posts, file uploads, private messages and many more.
|
|
138
138
|
email:
|
|
@@ -627,6 +627,7 @@ files:
|
|
|
627
627
|
- base/db/migrate/20111221103509_add_language_field.rb
|
|
628
628
|
- base/db/migrate/20120103103125_add_channels.rb
|
|
629
629
|
- base/db/migrate/20120109081509_update_notify_permissions.rb
|
|
630
|
+
- base/db/migrate/20120111120920_remove_language_default.rb
|
|
630
631
|
- base/lib/acts_as_taggable_on/acts_as_taggable_on/dirty.rb
|
|
631
632
|
- base/lib/acts_as_taggable_on/social_stream.rb
|
|
632
633
|
- base/lib/generators/social_stream/base/install_generator.rb
|