social_stream 0.19.0 → 0.19.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,18 +11,33 @@
11
11
  padding: 0px;
12
12
  margin-top: 45px;
13
13
  float: left;
14
+ position: relative;
14
15
  }
15
16
  #contacts_filter {
16
17
  width: 290px;
17
- height: 64px;
18
+ height: 45px;
18
19
  position: relative;
19
20
  float: left;
20
21
  padding: 5px;
21
22
  }
22
-
23
+ #contacts_selector_modifiers {
24
+ opacity: 0;
25
+ position: relative;
26
+ float: left;
27
+ width: 280px;
28
+ }
29
+ #contacts_selector_clear{
30
+ cursor: pointer;
31
+ width: 138px;
32
+ height: 12px;
33
+ position: relative;
34
+ float: left;
35
+ text-align:center;
36
+ padding: 3px;
37
+ }
23
38
  #cheesecake #contacts_filter #contacts_filter_input {
24
- padding: 0 3px 0 22px;
25
39
  background: url('btn/search_icon.png') 5px 50% no-repeat white;
40
+ padding: 0 3px 0 22px;
26
41
  font-size: 11px;
27
42
  color: $main-color;
28
43
  border: solid 1px $input-border-color;
@@ -39,24 +54,28 @@
39
54
  position: relative;
40
55
  float: left;
41
56
  }
42
- #contacts_grid_extra {
43
- width: 270px;
57
+ #contacts_grid_available {
58
+ width: 300px;
59
+ height: 336px;
60
+ position: relative;
61
+ float: left;
62
+ overflow: auto;
63
+ }
64
+ #contacts_grid_saving {
65
+ width: 280px;
66
+ height: 100%;
67
+ line-height: 336px;
68
+ overflow: hidden;
69
+ position: absolute;
70
+ opacity: 0.80;
44
71
  text-align: center;
45
- float: right;
46
- margin-right: 20px;
47
- cursor: pointer;
48
72
  vertical-align: middle;
49
- padding-top: 6px;
50
- background: #DEEFF8;
51
- padding-left: 10px;
52
- display: block;
53
- height: 20px;
54
- font-weight: bold;
73
+ background-color: $fill-color;
55
74
  }
56
75
  #contacts_save {
57
- width: 270px;
76
+ width: 130px;
58
77
  padding-right: 5px;
59
- height: 25px;
78
+ height: 30px;
60
79
  text-align: right;
61
80
  float: right;
62
81
  margin-right: 20px;
@@ -64,31 +83,70 @@
64
83
  #contacts_save_form {
65
84
  overflow: visible;
66
85
  }
86
+ #contacts_save_button {
87
+ margin: 5px 0px 0px 0px;
88
+ height: 25px;
89
+ padding: 3px 10px 3px 10px;
90
+ }
67
91
  #contacts_changes {
68
- width: 705px;
69
- margin-left: 20px;
92
+ width: 500px;
93
+ background-color: $text-over-main;
94
+ display: none;
95
+ }
96
+ #contacts_changes_button {
97
+ width: 130px;
98
+ height: 25px;
99
+ float: right;
100
+ margin-top: 10px;
101
+ cursor: pointer;
70
102
  }
71
103
  #contacts_changes_title {
72
104
  vertical-align: middle;
73
105
  padding-top: 6px;
74
- background: $secondary-color;
75
106
  padding-left: 10px;
76
107
  display: block;
77
108
  height: 20px;
78
109
  font-weight: bold;
79
110
  cursor: pointer;
111
+ width: 500px;
112
+ border: solid 2px $main-color;
113
+ border-bottom: none;
114
+ background: url('cancel.png') 487px 50% no-repeat $secondary-color;
80
115
  }
81
116
  #contacts_changes_details {
82
- border: solid 1px $secondary-color;
83
117
  border-top: 0px;
84
118
  padding: 5px;
85
- display: none;
86
- max-height: 200px;
119
+ height: 300px;
120
+ width: 500px;
121
+ overflow-y: auto;
122
+ background-color: $text-over-main;
123
+ border: solid 2px $main-color;
124
+ border-top: none;
87
125
  overflow-y: auto;
88
126
  }
89
127
  #contacts_changes_details ul{
90
128
  padding-left: 20px;
91
129
  }
130
+ .contacts_changes_tipsy_menu.tipsy {
131
+ padding: 0px;
132
+ display: none;
133
+ width: 514px;
134
+ height: 340px;
135
+ top: 145px !important;
136
+ left: 460px !important;
137
+ }
138
+ .contacts_changes_tipsy_menu.tipsy .tipsy-arrow {
139
+ display: none;
140
+ }
141
+ .contacts_changes_tipsy_menu.tipsy .tipsy-inner {
142
+ background-color: $text-over-main;
143
+ padding:0px;
144
+ max-width: 514px;
145
+ max-height: 340px;
146
+ box-shadow: 0 0 5px #000000;
147
+ -webkit-box-shadow: 0 0 5px #000000;
148
+ -moz-box-shadow: 0 0 5px #000000;
149
+ }
92
150
  #contacts_changes_details .change_deleted{
93
151
  font-weight: bold;
94
152
  color: $error-color;
@@ -106,31 +164,44 @@
106
164
  height: 48px;
107
165
  float: left;
108
166
  margin: 4px;
109
- display: none;
110
- }
111
- #contacts_grid .actor.focused {
112
- border: 2px solid $main-color;
113
- margin: 0px;
167
+ opacity: 0.8;
114
168
  }
115
169
  #contacts_grid .actor img {
116
170
  width: 48px;
117
171
  height: 48px;
118
172
  }
173
+ #contacts_grid .actor.focused {
174
+ opacity: 1;
175
+
176
+ }
119
177
  #contacts_grid .actor.focused img {
120
- width: 52px;
121
- height: 52px;
178
+
122
179
  }
123
- #contacts_grid .actor.focused {
124
- width: 52px;
125
- height: 52px;
126
- float: left;
180
+ #contacts_grid_selected .actor {
181
+ border: 0px;
127
182
  margin: 0px;
183
+ width: 24px;
184
+ height: 24px;
185
+ float: left;
186
+ margin: 2px 2px 0px 2px;
128
187
  }
129
- #contacts_grid .actor .logo {
130
- display: inline-block;
188
+ #contacts_grid_selected .actor img {
189
+ width: 24px;
190
+ height: 24px;
131
191
  }
132
- #contacts_grid .actor .link, #contacts_grid .actor .brief {
192
+ #contacts_grid_selected.focused .actor {
193
+
194
+ }
195
+ #contacts_grid_selected .actor.focused img {
196
+
197
+ }
198
+ #contacts_grid_selected {
199
+ width: 280px;
200
+ min-height: 28px;
201
+ background-color: $fill-color;
202
+ border: 1px solid $main-color;
133
203
  display: none;
204
+ padding-bottom: 2px;
134
205
  }
135
206
  .cheesecake_actor_tipsy.tipsy {
136
207
  padding-top: 2px;
@@ -57,4 +57,9 @@ class Channel < ActiveRecord::Base
57
57
  def reflexive?
58
58
  author_id == owner_id
59
59
  end
60
+
61
+ # Is the author represented in this {Channel}?
62
+ def represented_author?
63
+ author_id != user_author_id
64
+ end
60
65
  end
@@ -37,7 +37,8 @@ class Group < ActiveRecord::Base
37
37
  :relation_ids => _relation_ids
38
38
 
39
39
  if represented_author?
40
- # TODO: create tie with future representation relation
40
+ user_author.sent_contacts.create! :receiver_id => actor_id,
41
+ :relation_ids => _relation_ids
41
42
  end
42
43
  end
43
44
 
@@ -3,7 +3,7 @@
3
3
  <% end %>
4
4
 
5
5
  <div id="<%= dom_id(actor)%>_details" style="display:none;">
6
- <%= link_to truncate_name(actor.name), actor.subject %>
6
+ <%= link_to truncate_name(actor.name), actor.subject, :target => "_blank" %>
7
7
  </div>
8
8
 
9
9
  <%= javascript_tag do %>
@@ -12,44 +12,37 @@ $(function(){
12
12
  rMax : 200,
13
13
  center: {x : 220, y : 220}
14
14
  };
15
- cheesecakeData.highlightedSectorCallback = function(cheesecake){
16
- $("#contacts_grid").css("overflow-y","hidden");
17
- var sector = cheesecake.highlightedSector;
18
- var actors = [];
19
- var visibles = 0;
20
- var extra_text = ["<%= t('cheesecake.hidden_contact.one')%>","<%= t('cheesecake.hidden_contact.other')%>"];
21
- if(sector){
22
- actors = sector.actors;
23
- }else{
24
- actors = cheesecake.grid.actors;
25
- }
26
- for(var i in actors){
27
- if(actors[i].isVisible()){
28
- visibles++;
29
- }
30
- }
31
- if(visibles <= 30){
32
- $("#contacts_grid_extra").hide();
33
- }else{
34
- $("#contacts_grid_extra_total").html(visibles - 30);
35
- if((visibles - 30) == 1){
36
- $("#contacts_grid_extra_text").html(extra_text[0]);
37
- }else{
38
- $("#contacts_grid_extra_text").html(extra_text[1]);
39
- }
40
- $("#contacts_grid_extra").show();
41
- $("#contacts_grid").scrollTo(0, 1000);
42
- }
43
- }
44
15
  cheesecakeData.sectors = <%= raw(current_subject.cheesecake_json) %>.sectors;
45
- var cheese = new socialCheesecake.Cheesecake(cheesecakeData);
16
+ var cheese = new socialCheesecake.Cheesecake(cheesecakeData);
17
+ cheese.syncSectorFocusCallbacks = true;
18
+ cheese.onSectorFocusBegin = function(cheesecake,callback){
19
+ $("#contacts_grid_available").fadeOut("fast", callback);
20
+ };
21
+ cheese.onSectorFocusEnd = function(cheesecake){
22
+ console.log("end"); $("#contacts_grid_available").fadeIn("fast");
23
+ };
46
24
  $("#contacts_filter_input").keyup(function(){
47
25
  cheese.searchEngine.filter($("#contacts_filter_input").val());
48
- cheesecakeData.highlightedSectorCallback(cheese);
26
+ //TODO: Make users unfiltered visible again
49
27
  });
50
28
  cheese.onChange = function(cheesecake){
51
29
  var initial = cheesecake.getInitialState();
52
30
  var changes = cheesecake.getChanges();
31
+ if((changes.actors)&&(changes.actors.length==0)&&(changes.sectors)&&(changes.sectors.length==0)&&(changes.subsectors)&&(changes.subsectors.length==0)){
32
+ $("#contacts_changes_button").hide();
33
+ $("#contacts_save").hide();
34
+ }else{
35
+ $("#contacts_changes_button").show();
36
+ $("#contacts_save").show();
37
+ var total = 0;
38
+ if(changes.actors)
39
+ total += changes.actors.length;
40
+ if(changes.sectors)
41
+ total += changes.sectors.length;
42
+ if(changes.subsectors)
43
+ total += changes.subsectors.length;
44
+ $("#contacts_changes_button_total").html(total);
45
+ }
53
46
  var changes_html = "";
54
47
  var actors = changes.actors;
55
48
  $("#contacts_save_changes").val(JSON.stringify(changes));
@@ -114,18 +107,19 @@ $(function(){
114
107
  }
115
108
  }
116
109
  $("#contacts_changes_details").html(changes_html);
117
- if (!$("#contacts_changes_details").is (":visible")){
118
- $("#contacts_changes_details").slideToggle("slow");
119
- }
120
- }
121
- if(cheese.grid.actors.length > 30){
122
- var extra_text = ["<%= t('cheesecake.hidden_contact.one')%>","<%= t('cheesecake.hidden_contact.other')%>"];
123
- $("#contacts_grid_extra_total").html(cheese.grid.actors.length - 30);
124
- if((cheese.grid.actors.length - 30) == 1){
125
- $("#contacts_grid_extra_text").html(extra_text[0]);
126
- }else{
127
- $("#contacts_grid_extra_text").html(extra_text[1]);
128
- }
129
- $("#contacts_grid_extra").show();
130
110
  }
111
+ $('#contacts_changes_button').tipsy({
112
+ delayIn: 0,
113
+ delayOut: 0,
114
+ gravity: 'se',
115
+ opacity: 1,
116
+ trigger: 'manual',
117
+ className: 'contacts_changes_tipsy_menu',
118
+ html: true,
119
+ hoverable: true,
120
+ title: function(){
121
+ return $('#contacts_changes').html();
122
+ }
123
+ });
124
+ $("#contacts_save_changes").val(JSON.stringify(cheese.getChanges()));
131
125
  });
@@ -3,29 +3,38 @@
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
- <% @actors.each do |actor|%>
8
- <%= render :partial => "actors/actor_cheesecake", :locals => {:actor => actor} %>
9
- <% end %>
6
+ <div id="contacts_selector_modifiers">
7
+ <span id="contacts_selector_clear">Unselect all</span>
10
8
  </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>
9
+ <div id="contacts_grid">
10
+ <div id="contacts_grid_saving" style="display:none;">
11
+ <%= image_tag('loading.gif') %>
12
+ </div>
13
+ <div id="contacts_grid_selected">
14
+ <br class="clearfloat">
15
+ </div>
16
+ <div id="contacts_grid_available">
17
+ <% @actors.each do |actor|%>
18
+ <%= render :partial => "actors/actor_cheesecake", :locals => {:actor => actor} %>
19
+ <% end %>
20
+ </div>
13
21
  </div>
14
- <div id="contacts_save">
22
+ <div id="contacts_save" style="display:none;">
15
23
  <form action="<%= update_cheesecake_path %>" method="get" data-remote="true" id="contacts_save_form">
16
- <input type="submit" id="contacts_save_button" value="Save changes">
24
+ <input type="submit" id="contacts_save_button" value="<%= t('cheesecake.changes.save') %>">
17
25
  <input type="hidden" id="contacts_save_changes" name="contacts_save_changes">
18
26
  </form>
19
27
  </div>
28
+ <div id="contacts_changes_button" style="display:none;">
29
+ <%= t('cheesecake.changes.details') %> (<span id="contacts_changes_button_total">0</span>)
30
+ </div>
20
31
  <br class="clearfloat">
21
32
  <div id="contacts_changes">
22
33
  <div id="contacts_changes_title">
23
- Changes details
34
+ <%= t('cheesecake.changes.details') %>
24
35
  </div>
25
36
  <div id="contacts_changes_details">
26
- <ul>
27
- <li>Working on it :)</li>
28
- </ul>
37
+
29
38
  </div>
30
39
  </div>
31
40
  <%= javascript_tag do %>
@@ -36,12 +45,70 @@
36
45
  $("#contacts_grid_extra").click(function(){
37
46
  $("#contacts_grid").css("overflow-y","scroll");
38
47
  $("#contacts_grid").scrollTo("+=308px", 800, {axis:'y'});
39
- $("#contacts_grid_extra").hide();
48
+ $("#contacts_grid_extra").css("opacity",0);
40
49
  });
41
- $("#contacts_changes_title").click(function(){
42
- $("#contacts_changes_details").slideToggle("slow", function(){
43
- $.scrollTo('#contacts_changes_details' ,300,{axis:'y'});
50
+ var unselected_actor_click = function(){
51
+ var clone = $(this).clone();
52
+ clone.attr("id",$(this).attr("id") + "_selected");
53
+ $(this).slideToggle("fast",function(){
54
+ clone.hide();
55
+ $(this).before(clone);
56
+ $("#contacts_grid_selected br.clearfloat").before($(this));
57
+ $(this).off("click.unselected_actor");
58
+ $(this).on("click.selected_actor", selected_actor_click);
59
+ if($("#contacts_grid_selected").css("display")=="none"){
60
+ $("#contacts_grid_selected").slideToggle("fast");
61
+ $("#contacts_selector_modifiers").css("opacity",1);
62
+ }
63
+ var height = 336 - Math.ceil(($("#contacts_grid_selected").children().length - 1) / 10) * 28;
64
+ if(height != $("#contacts_grid_available").height())
65
+ $("#contacts_grid_available").animate({height: height});
66
+ $(this).slideToggle("fast");
44
67
  });
68
+ };
69
+ var selected_actor_click = function(){
70
+ var clone = $("#" + $(this).attr("id") + "_selected");
71
+ $(this).slideToggle("fast",function(){
72
+ clone.before($(this));
73
+ $(this).off("click.selected_actor");
74
+ $(this).on("click.unselected_actor", unselected_actor_click);
75
+ if($("#contacts_grid_selected").children().length <= 1){
76
+ $("#contacts_grid_selected").slideToggle("fast");
77
+ $("#contacts_selector_modifiers").css("opacity",0);
78
+ }
79
+ var height = 336 - Math.ceil(($("#contacts_grid_selected").children().length - 1) / 10) * 28;
80
+ if(height != $("#contacts_grid_available").height())
81
+ $("#contacts_grid_available").animate({height: height});
82
+ $(this).slideToggle("fast");
83
+ clone.remove();
84
+ });
85
+ };
86
+ $("#contacts_selector_clear").on("click",function(){
87
+ $("#contacts_grid_selected .actor").each(function(){
88
+ var evt = document.createEvent("MouseEvents");
89
+ evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
90
+ var cb = $(this)[0];
91
+ !cb.dispatchEvent(evt);
92
+ });
93
+ });
94
+ $(".actor").on("click.unselected_actor",unselected_actor_click);
95
+ $("#contacts_changes_button").click(function(){
96
+ if($(".contacts_changes_tipsy_menu").length != 0){
97
+ $("#contacts_changes_button").tipsy("hide");
98
+ }else{
99
+ $("#contacts_changes_button").tipsy("show");
100
+ $("#contacts_changes_title").click(function(){
101
+ $("#contacts_changes_button").tipsy("hide");
102
+ });
103
+ }
104
+ });
105
+ $("#contacts_save_form").submit(function(){
106
+ if($(".contacts_changes_tipsy_menu").length != 0){
107
+ $("#contacts_changes_button").tipsy("hide");
108
+ }
109
+ $("#contacts_grid_saving").show();
110
+ cheese.disable();
111
+ $("#contacts_save_button").val("<%= t('cheesecake.changes.saving') %>").attr("disabled","true");
45
112
  });
46
113
  <%= render :partial => 'cheesecake' %>
47
114
  <% end %>
@@ -92,9 +92,11 @@ en:
92
92
  save: "Save"
93
93
  update: "Update"
94
94
  cheesecake:
95
- hidden_contact:
96
- one: "contact hidden"
97
- other: "contacts hidden"
95
+ changes:
96
+ details: "Change details"
97
+ none: "No changes"
98
+ save: "Save changes"
99
+ saving: "Saving..."
98
100
  comment:
99
101
  input: "Write a comment..."
100
102
  confirm_delete: "Delete comment?"
@@ -92,9 +92,11 @@ es:
92
92
  save: "Guardar"
93
93
  update: "Actualizar"
94
94
  cheesecake:
95
- hidden_contact:
96
- one: "contacto oculto"
97
- other: "contactos ocultos"
95
+ changes:
96
+ details: "Cambios detallados"
97
+ none: "Sin cambios"
98
+ save: "Guardar cambios"
99
+ saving: "Guardando..."
98
100
  comment:
99
101
  input: "Comentar..."
100
102
  confirm_delete: "¿Borrar commentario?"
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Base
3
- VERSION = "0.14.0".freeze
3
+ VERSION = "0.14.1".freeze
4
4
  end
5
5
  end
@@ -29,11 +29,6 @@ module SocialStream
29
29
  }
30
30
  end
31
31
 
32
- # Was the author represented with this {SocialStream::Models::Object object} was created?
33
- def represented_author?
34
- author_id == user_author_id
35
- end
36
-
37
32
  # All the activities with this object
38
33
  def activities
39
34
  Activity.
@@ -58,7 +58,7 @@ Gem::Specification.new do |s|
58
58
  # Autolink text blocks
59
59
  s.add_runtime_dependency('rails_autolink', '~> 1.0.4')
60
60
  # SocialCheesecake
61
- s.add_runtime_dependency('social_cheesecake','~> 0.2.0')
61
+ s.add_runtime_dependency('social_cheesecake','~> 0.3.0')
62
62
  # I18n-js
63
63
  s.add_runtime_dependency('i18n-js','~>2.1.2')
64
64
 
@@ -87,6 +87,7 @@ describe GroupsController do
87
87
  Group.count.should eq(count + 1)
88
88
  assigns(:current_subject).should eq(group)
89
89
  response.should redirect_to(:home)
90
+ @user.receivers.should include(group.actor)
90
91
  end
91
92
 
92
93
  context "with participants" do
@@ -171,6 +172,8 @@ describe GroupsController do
171
172
  Group.count.should eq(count + 1)
172
173
  assigns(:current_subject).should eq(group)
173
174
  response.should redirect_to(:home)
175
+ @user.receivers.should include(group.actor)
176
+ @group.receivers.should include(group.actor)
174
177
  end
175
178
  end
176
179
  end
@@ -1,5 +1,5 @@
1
1
  <%= link_to event, :class => "event_date" do %>
2
- <div class="event_date_image">
2
+ <div id="event-<%= event.id %>" class="event_date_image">
3
3
  <div class="event_day">
4
4
  <%= event.start_at.day %>
5
5
  </div>
@@ -14,6 +14,17 @@
14
14
  </div>
15
15
  <% end %>
16
16
 
17
+ <%= javascript_tag do %>
18
+ var d = new Date(<%= 1000*event.start_at.to_i %>);
19
+ $("#event-<%= event.id %> .event_day").text($.datepicker.formatDate('d', d));
20
+ $("#event-<%= event.id %> .event_month").text($.datepicker.formatDate('M', d));
21
+ if($("#event-<%= event.id %> .event_hour").length) {
22
+ var minutes = d.getMinutes();
23
+ if (minutes<10) minutes = "0" + minutes;
24
+ $("#event-<%= event.id %> .event_hour").text(d.getHours() + ':' + minutes);
25
+ }
26
+ <% end %>
27
+
17
28
  <div class="event_details">
18
29
  <div class="title">
19
30
  <%= link_to event.title, event %>
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Events
3
- VERSION = "0.6.0".freeze
3
+ VERSION = "0.6.1".freeze
4
4
  end
5
5
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.files = `git ls-files`.split("\n")
13
13
 
14
14
  # Gem dependencies
15
- s.add_runtime_dependency('social_stream-base', '~> 0.14.0')
15
+ s.add_runtime_dependency('social_stream-base', '~> 0.14.1')
16
16
  s.add_runtime_dependency('rails-scheduler', '~> 0.0.6')
17
17
  s.add_runtime_dependency('coffee-rails', '>= 3.1.0')
18
18
 
@@ -1,3 +1,3 @@
1
1
  module SocialStream
2
- VERSION = "0.19.0".freeze
2
+ VERSION = "0.19.1".freeze
3
3
  end
@@ -11,9 +11,9 @@ 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.14.0')
14
+ s.add_runtime_dependency('social_stream-base', '~> 0.14.1')
15
15
  s.add_runtime_dependency('social_stream-documents', '~> 0.9.0')
16
- s.add_runtime_dependency('social_stream-events', '~> 0.6.0')
16
+ s.add_runtime_dependency('social_stream-events', '~> 0.6.1')
17
17
  s.add_runtime_dependency('social_stream-linkser', '~> 0.4.0')
18
18
  s.add_runtime_dependency('social_stream-presence', '~> 0.5.0')
19
19
 
@@ -41,7 +41,7 @@ Gem::Specification.new do |s|
41
41
  end
42
42
  end
43
43
  # Specs
44
- s.add_development_dependency('rspec-rails', '~> 2.5.0')
44
+ s.add_development_dependency('rspec-rails', '~> 2.8.0')
45
45
  # Fixtures
46
46
  s.add_development_dependency('factory_girl', '~> 1.3.2')
47
47
  # Population
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.19.0
4
+ version: 0.19.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-26 00:00:00.000000000Z
13
+ date: 2012-02-01 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: social_stream-base
17
- requirement: &72653720 !ruby/object:Gem::Requirement
17
+ requirement: &74908450 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: 0.14.0
22
+ version: 0.14.1
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *72653720
25
+ version_requirements: *74908450
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: social_stream-documents
28
- requirement: &72653470 !ruby/object:Gem::Requirement
28
+ requirement: &74905530 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,21 +33,21 @@ dependencies:
33
33
  version: 0.9.0
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *72653470
36
+ version_requirements: *74905530
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: social_stream-events
39
- requirement: &72692360 !ruby/object:Gem::Requirement
39
+ requirement: &74905280 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
43
43
  - !ruby/object:Gem::Version
44
- version: 0.6.0
44
+ version: 0.6.1
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *72692360
47
+ version_requirements: *74905280
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: social_stream-linkser
50
- requirement: &72692130 !ruby/object:Gem::Requirement
50
+ requirement: &74905040 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 0.4.0
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *72692130
58
+ version_requirements: *74905040
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: social_stream-presence
61
- requirement: &72691900 !ruby/object:Gem::Requirement
61
+ requirement: &74904790 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 0.5.0
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *72691900
69
+ version_requirements: *74904790
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: capybara
72
- requirement: &72691670 !ruby/object:Gem::Requirement
72
+ requirement: &74904540 !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: *72691670
80
+ version_requirements: *74904540
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: sqlite3
83
- requirement: &72691470 !ruby/object:Gem::Requirement
83
+ requirement: &74904330 !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: *72691470
91
+ version_requirements: *74904330
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: ruby-debug19
94
- requirement: &72691220 !ruby/object:Gem::Requirement
94
+ requirement: &74904060 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,21 +99,21 @@ dependencies:
99
99
  version: '0'
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *72691220
102
+ version_requirements: *74904060
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rspec-rails
105
- requirement: &72690970 !ruby/object:Gem::Requirement
105
+ requirement: &74903790 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ~>
109
109
  - !ruby/object:Gem::Version
110
- version: 2.5.0
110
+ version: 2.8.0
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *72690970
113
+ version_requirements: *74903790
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: factory_girl
116
- requirement: &72690720 !ruby/object:Gem::Requirement
116
+ requirement: &74903520 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ~>
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: 1.3.2
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *72690720
124
+ version_requirements: *74903520
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: forgery
127
- requirement: &72690490 !ruby/object:Gem::Requirement
127
+ requirement: &74903280 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ~>
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: 0.4.2
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *72690490
135
+ version_requirements: *74903280
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: ci_reporter
138
- requirement: &72690260 !ruby/object:Gem::Requirement
138
+ requirement: &74903030 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ~>
@@ -143,7 +143,7 @@ dependencies:
143
143
  version: 1.6.4
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *72690260
146
+ version_requirements: *74903030
147
147
  description: Social Stream is a Ruby on Rails engine for building social network websites.
148
148
  It supports contacts, posts, file uploads, private messages and many more.
149
149
  email: