social_stream-base 0.12.0 → 0.12.1
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/stylesheets/cheesecake.css.scss +57 -10
- data/app/assets/stylesheets/header.css.scss +2 -2
- data/app/controllers/settings_controller.rb +5 -1
- data/app/models/relation/custom.rb +2 -2
- data/app/views/actors/_actor_cheesecake.html.erb +20 -0
- data/app/views/cheesecake/_index.html.erb +54 -2
- data/app/views/layouts/_header_dropdown_menu_sessions.html.erb +1 -1
- data/app/views/settings/_language.html.erb +1 -1
- data/config/locales/en.yml +7 -0
- data/config/locales/es.yml +7 -0
- data/db/migrate/20120111120920_remove_language_default.rb +9 -0
- data/lib/social_stream/base/version.rb +1 -1
- data/lib/social_stream/controllers/subjects.rb +1 -1
- data/lib/tasks/db/populate.rake +16 -8
- data/social_stream-base.gemspec +1 -1
- data/spec/models/actor_spec.rb +2 -2
- metadata +62 -61
@@ -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/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/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
|
data/lib/tasks/db/populate.rake
CHANGED
@@ -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
|
data/social_stream-base.gemspec
CHANGED
@@ -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
|
#
|
data/spec/models/actor_spec.rb
CHANGED
@@ -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
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: social_stream-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ 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: rails
|
17
|
-
requirement: &
|
17
|
+
requirement: &81513820 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 3.1.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *81513820
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: ancestry
|
28
|
-
requirement: &
|
28
|
+
requirement: &81511060 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 1.2.3
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *81511060
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: foreigner
|
39
|
-
requirement: &
|
39
|
+
requirement: &81510560 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 1.1.1
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *81510560
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: devise
|
50
|
-
requirement: &
|
50
|
+
requirement: &81510130 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: 1.4.5
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *81510130
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: inherited_resources
|
61
|
-
requirement: &
|
61
|
+
requirement: &81509650 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: 1.3.0
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *81509650
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: stringex
|
72
|
-
requirement: &
|
72
|
+
requirement: &81509240 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: 1.3.0
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *81509240
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: avatars_for_rails
|
83
|
-
requirement: &
|
83
|
+
requirement: &81508890 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ~>
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: 0.2.2
|
89
89
|
type: :runtime
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *81508890
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: jquery-rails
|
94
|
-
requirement: &
|
94
|
+
requirement: &81508570 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ~>
|
@@ -99,10 +99,10 @@ dependencies:
|
|
99
99
|
version: 1.0.9
|
100
100
|
type: :runtime
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *81508570
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: cancan
|
105
|
-
requirement: &
|
105
|
+
requirement: &81508100 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - ~>
|
@@ -110,10 +110,10 @@ dependencies:
|
|
110
110
|
version: 1.6.4
|
111
111
|
type: :runtime
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *81508100
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: kaminari
|
116
|
-
requirement: &
|
116
|
+
requirement: &81507680 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ~>
|
@@ -121,10 +121,10 @@ dependencies:
|
|
121
121
|
version: 0.12.4
|
122
122
|
type: :runtime
|
123
123
|
prerelease: false
|
124
|
-
version_requirements: *
|
124
|
+
version_requirements: *81507680
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: omniauth
|
127
|
-
requirement: &
|
127
|
+
requirement: &81506890 !ruby/object:Gem::Requirement
|
128
128
|
none: false
|
129
129
|
requirements:
|
130
130
|
- - ~>
|
@@ -132,10 +132,10 @@ dependencies:
|
|
132
132
|
version: 0.2.6
|
133
133
|
type: :runtime
|
134
134
|
prerelease: false
|
135
|
-
version_requirements: *
|
135
|
+
version_requirements: *81506890
|
136
136
|
- !ruby/object:Gem::Dependency
|
137
137
|
name: mailboxer
|
138
|
-
requirement: &
|
138
|
+
requirement: &81491250 !ruby/object:Gem::Requirement
|
139
139
|
none: false
|
140
140
|
requirements:
|
141
141
|
- - ~>
|
@@ -143,10 +143,10 @@ dependencies:
|
|
143
143
|
version: 0.5.4
|
144
144
|
type: :runtime
|
145
145
|
prerelease: false
|
146
|
-
version_requirements: *
|
146
|
+
version_requirements: *81491250
|
147
147
|
- !ruby/object:Gem::Dependency
|
148
148
|
name: acts-as-taggable-on
|
149
|
-
requirement: &
|
149
|
+
requirement: &81488420 !ruby/object:Gem::Requirement
|
150
150
|
none: false
|
151
151
|
requirements:
|
152
152
|
- - ~>
|
@@ -154,10 +154,10 @@ dependencies:
|
|
154
154
|
version: 2.0.6
|
155
155
|
type: :runtime
|
156
156
|
prerelease: false
|
157
|
-
version_requirements: *
|
157
|
+
version_requirements: *81488420
|
158
158
|
- !ruby/object:Gem::Dependency
|
159
159
|
name: formtastic
|
160
|
-
requirement: &
|
160
|
+
requirement: &81484750 !ruby/object:Gem::Requirement
|
161
161
|
none: false
|
162
162
|
requirements:
|
163
163
|
- - ~>
|
@@ -165,10 +165,10 @@ dependencies:
|
|
165
165
|
version: 1.2.3
|
166
166
|
type: :runtime
|
167
167
|
prerelease: false
|
168
|
-
version_requirements: *
|
168
|
+
version_requirements: *81484750
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
170
|
name: simple-navigation
|
171
|
-
requirement: &
|
171
|
+
requirement: &81478410 !ruby/object:Gem::Requirement
|
172
172
|
none: false
|
173
173
|
requirements:
|
174
174
|
- - ~>
|
@@ -176,10 +176,10 @@ dependencies:
|
|
176
176
|
version: 3.5.1
|
177
177
|
type: :runtime
|
178
178
|
prerelease: false
|
179
|
-
version_requirements: *
|
179
|
+
version_requirements: *81478410
|
180
180
|
- !ruby/object:Gem::Dependency
|
181
181
|
name: resque
|
182
|
-
requirement: &
|
182
|
+
requirement: &81476140 !ruby/object:Gem::Requirement
|
183
183
|
none: false
|
184
184
|
requirements:
|
185
185
|
- - ~>
|
@@ -187,10 +187,10 @@ dependencies:
|
|
187
187
|
version: 1.19.0
|
188
188
|
type: :runtime
|
189
189
|
prerelease: false
|
190
|
-
version_requirements: *
|
190
|
+
version_requirements: *81476140
|
191
191
|
- !ruby/object:Gem::Dependency
|
192
192
|
name: modernizr-rails
|
193
|
-
requirement: &
|
193
|
+
requirement: &81472400 !ruby/object:Gem::Requirement
|
194
194
|
none: false
|
195
195
|
requirements:
|
196
196
|
- - ~>
|
@@ -198,10 +198,10 @@ dependencies:
|
|
198
198
|
version: 2.0.6
|
199
199
|
type: :runtime
|
200
200
|
prerelease: false
|
201
|
-
version_requirements: *
|
201
|
+
version_requirements: *81472400
|
202
202
|
- !ruby/object:Gem::Dependency
|
203
203
|
name: thinking-sphinx
|
204
|
-
requirement: &
|
204
|
+
requirement: &82552000 !ruby/object:Gem::Requirement
|
205
205
|
none: false
|
206
206
|
requirements:
|
207
207
|
- - ~>
|
@@ -209,10 +209,10 @@ dependencies:
|
|
209
209
|
version: 2.0.8
|
210
210
|
type: :runtime
|
211
211
|
prerelease: false
|
212
|
-
version_requirements: *
|
212
|
+
version_requirements: *82552000
|
213
213
|
- !ruby/object:Gem::Dependency
|
214
214
|
name: sass-rails
|
215
|
-
requirement: &
|
215
|
+
requirement: &82558110 !ruby/object:Gem::Requirement
|
216
216
|
none: false
|
217
217
|
requirements:
|
218
218
|
- - ~>
|
@@ -220,10 +220,10 @@ dependencies:
|
|
220
220
|
version: 3.1.0
|
221
221
|
type: :runtime
|
222
222
|
prerelease: false
|
223
|
-
version_requirements: *
|
223
|
+
version_requirements: *82558110
|
224
224
|
- !ruby/object:Gem::Dependency
|
225
225
|
name: rails_autolink
|
226
|
-
requirement: &
|
226
|
+
requirement: &82566760 !ruby/object:Gem::Requirement
|
227
227
|
none: false
|
228
228
|
requirements:
|
229
229
|
- - ~>
|
@@ -231,21 +231,21 @@ dependencies:
|
|
231
231
|
version: 1.0.4
|
232
232
|
type: :runtime
|
233
233
|
prerelease: false
|
234
|
-
version_requirements: *
|
234
|
+
version_requirements: *82566760
|
235
235
|
- !ruby/object:Gem::Dependency
|
236
236
|
name: social_cheesecake
|
237
|
-
requirement: &
|
237
|
+
requirement: &82569140 !ruby/object:Gem::Requirement
|
238
238
|
none: false
|
239
239
|
requirements:
|
240
240
|
- - ~>
|
241
241
|
- !ruby/object:Gem::Version
|
242
|
-
version: 0.
|
242
|
+
version: 0.2.0
|
243
243
|
type: :runtime
|
244
244
|
prerelease: false
|
245
|
-
version_requirements: *
|
245
|
+
version_requirements: *82569140
|
246
246
|
- !ruby/object:Gem::Dependency
|
247
247
|
name: capybara
|
248
|
-
requirement: &
|
248
|
+
requirement: &82570980 !ruby/object:Gem::Requirement
|
249
249
|
none: false
|
250
250
|
requirements:
|
251
251
|
- - ~>
|
@@ -253,10 +253,10 @@ dependencies:
|
|
253
253
|
version: 0.3.9
|
254
254
|
type: :development
|
255
255
|
prerelease: false
|
256
|
-
version_requirements: *
|
256
|
+
version_requirements: *82570980
|
257
257
|
- !ruby/object:Gem::Dependency
|
258
258
|
name: sqlite3-ruby
|
259
|
-
requirement: &
|
259
|
+
requirement: &82584710 !ruby/object:Gem::Requirement
|
260
260
|
none: false
|
261
261
|
requirements:
|
262
262
|
- - ! '>='
|
@@ -264,10 +264,10 @@ dependencies:
|
|
264
264
|
version: '0'
|
265
265
|
type: :development
|
266
266
|
prerelease: false
|
267
|
-
version_requirements: *
|
267
|
+
version_requirements: *82584710
|
268
268
|
- !ruby/object:Gem::Dependency
|
269
269
|
name: ruby-debug19
|
270
|
-
requirement: &
|
270
|
+
requirement: &83226840 !ruby/object:Gem::Requirement
|
271
271
|
none: false
|
272
272
|
requirements:
|
273
273
|
- - ! '>='
|
@@ -275,10 +275,10 @@ dependencies:
|
|
275
275
|
version: '0'
|
276
276
|
type: :development
|
277
277
|
prerelease: false
|
278
|
-
version_requirements: *
|
278
|
+
version_requirements: *83226840
|
279
279
|
- !ruby/object:Gem::Dependency
|
280
280
|
name: rspec-rails
|
281
|
-
requirement: &
|
281
|
+
requirement: &84254960 !ruby/object:Gem::Requirement
|
282
282
|
none: false
|
283
283
|
requirements:
|
284
284
|
- - ~>
|
@@ -286,10 +286,10 @@ dependencies:
|
|
286
286
|
version: 2.6.1
|
287
287
|
type: :development
|
288
288
|
prerelease: false
|
289
|
-
version_requirements: *
|
289
|
+
version_requirements: *84254960
|
290
290
|
- !ruby/object:Gem::Dependency
|
291
291
|
name: factory_girl
|
292
|
-
requirement: &
|
292
|
+
requirement: &84656010 !ruby/object:Gem::Requirement
|
293
293
|
none: false
|
294
294
|
requirements:
|
295
295
|
- - ~>
|
@@ -297,10 +297,10 @@ dependencies:
|
|
297
297
|
version: 1.3.2
|
298
298
|
type: :development
|
299
299
|
prerelease: false
|
300
|
-
version_requirements: *
|
300
|
+
version_requirements: *84656010
|
301
301
|
- !ruby/object:Gem::Dependency
|
302
302
|
name: forgery
|
303
|
-
requirement: &
|
303
|
+
requirement: &84751720 !ruby/object:Gem::Requirement
|
304
304
|
none: false
|
305
305
|
requirements:
|
306
306
|
- - ~>
|
@@ -308,10 +308,10 @@ dependencies:
|
|
308
308
|
version: 0.4.2
|
309
309
|
type: :development
|
310
310
|
prerelease: false
|
311
|
-
version_requirements: *
|
311
|
+
version_requirements: *84751720
|
312
312
|
- !ruby/object:Gem::Dependency
|
313
313
|
name: ci_reporter
|
314
|
-
requirement: &
|
314
|
+
requirement: &84867950 !ruby/object:Gem::Requirement
|
315
315
|
none: false
|
316
316
|
requirements:
|
317
317
|
- - ~>
|
@@ -319,10 +319,10 @@ dependencies:
|
|
319
319
|
version: 1.6.4
|
320
320
|
type: :development
|
321
321
|
prerelease: false
|
322
|
-
version_requirements: *
|
322
|
+
version_requirements: *84867950
|
323
323
|
- !ruby/object:Gem::Dependency
|
324
324
|
name: nifty-generators
|
325
|
-
requirement: &
|
325
|
+
requirement: &84959500 !ruby/object:Gem::Requirement
|
326
326
|
none: false
|
327
327
|
requirements:
|
328
328
|
- - ~>
|
@@ -330,7 +330,7 @@ dependencies:
|
|
330
330
|
version: 0.4.5
|
331
331
|
type: :development
|
332
332
|
prerelease: false
|
333
|
-
version_requirements: *
|
333
|
+
version_requirements: *84959500
|
334
334
|
description: ! 'Social Stream is a Ruby on Rails engine providing your application
|
335
335
|
with social networking features and activity streams.
|
336
336
|
|
@@ -821,6 +821,7 @@ files:
|
|
821
821
|
- db/migrate/20111221103509_add_language_field.rb
|
822
822
|
- db/migrate/20120103103125_add_channels.rb
|
823
823
|
- db/migrate/20120109081509_update_notify_permissions.rb
|
824
|
+
- db/migrate/20120111120920_remove_language_default.rb
|
824
825
|
- lib/acts_as_taggable_on/acts_as_taggable_on/dirty.rb
|
825
826
|
- lib/acts_as_taggable_on/social_stream.rb
|
826
827
|
- lib/generators/social_stream/base/install_generator.rb
|