social_stream-base 0.6.0 → 0.6.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/app/helpers/activities_helper.rb +1 -1
- data/app/helpers/toolbar_helper.rb +35 -13
- data/app/models/activity.rb +11 -4
- data/app/models/actor.rb +1 -0
- data/app/models/comment.rb +2 -0
- data/app/models/contact.rb +2 -0
- data/app/models/group.rb +2 -0
- data/app/models/post.rb +2 -0
- data/app/models/user.rb +2 -0
- data/app/views/activities/_index.html.erb +3 -3
- data/app/views/activities/_options.html.erb +1 -1
- data/app/views/home/index.html.erb +3 -0
- data/app/views/objects/_new.html.erb +2 -2
- data/app/views/posts/_header.html.erb +1 -0
- data/app/views/subjects/_contacts.html.erb +1 -1
- data/app/views/toolbar/_home_menu.html.erb +4 -0
- data/lib/generators/social_stream/base/install_generator.rb +4 -0
- data/lib/generators/social_stream/base/templates/navigation.rb +0 -0
- data/lib/social_stream-base.rb +2 -0
- data/lib/social_stream/base.rb +0 -6
- data/lib/social_stream/base/version.rb +1 -1
- data/lib/social_stream/models/supertype.rb +0 -9
- data/lib/tasks/db/populate.rake +1 -3
- data/social_stream-base.gemspec +3 -2
- data/spec/controllers/contacts_controller_spec.rb +19 -0
- data/spec/controllers/groups_controller_spec.rb +2 -1
- data/spec/controllers/home_controller_spec.rb +3 -1
- data/spec/controllers/users_controller_spec.rb +9 -0
- data/spec/dummy/config/navigation.rb +4 -0
- data/spec/factories/activity.rb +10 -1
- data/spec/factories/contact.rb +4 -0
- data/spec/models/activity_spec.rb +84 -0
- data/spec/spec_helper.rb +0 -5
- data/spec/support/mock.rb +4 -0
- metadata +45 -27
@@ -24,6 +24,6 @@ module ActivitiesHelper
|
|
24
24
|
return Activity.new unless user_signed_in?
|
25
25
|
|
26
26
|
Activity.new :contact_id => current_subject.contact_to!(receiver).id,
|
27
|
-
:relation_ids =>
|
27
|
+
:relation_ids => current_subject.activity_relations(receiver, :from => :receiver).map(&:id)
|
28
28
|
end
|
29
29
|
end
|
@@ -38,8 +38,11 @@ module ToolbarHelper
|
|
38
38
|
#
|
39
39
|
# <% toolbar :profile => @group, :option => :contacts %>
|
40
40
|
#
|
41
|
-
|
42
41
|
def toolbar(options = {}, &block)
|
42
|
+
old_toolbar(options,&block)
|
43
|
+
end
|
44
|
+
|
45
|
+
def old_toolbar(options = {}, &block)
|
43
46
|
if options[:option] && block_given?
|
44
47
|
menu_options[options[:option]] = capture(&block)
|
45
48
|
end
|
@@ -56,21 +59,21 @@ module ToolbarHelper
|
|
56
59
|
when Mime::JS
|
57
60
|
response = <<-EOJ
|
58
61
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
62
|
+
$('#toolbar').html("#{ escape_javascript(content) }");
|
63
|
+
initMenu();
|
64
|
+
expandSubMenu('#{ options[:option] }');
|
65
|
+
EOJ
|
63
66
|
|
64
67
|
response.html_safe
|
65
68
|
else
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
69
|
+
content_for(:toolbar) do
|
70
|
+
content
|
71
|
+
end
|
72
|
+
content_for(:javascript) do
|
73
|
+
<<-EOJ
|
74
|
+
expandSubMenu('#{ options[:option] }');
|
75
|
+
EOJ
|
76
|
+
end
|
74
77
|
end
|
75
78
|
end
|
76
79
|
|
@@ -80,4 +83,23 @@ module ToolbarHelper
|
|
80
83
|
def menu_options #:nodoc:
|
81
84
|
@menu_options ||= {}
|
82
85
|
end
|
86
|
+
|
87
|
+
def default_toolbar_menu
|
88
|
+
items = [{:key => :notifications,
|
89
|
+
:name => image_tag("btn/btn_notification.png", :class => "menu_icon")+t('notification.other')+' ('+ current_subject.mailbox.notifications.not_trashed.unread.count.to_s+')',
|
90
|
+
:url => notifications_path}]
|
91
|
+
|
92
|
+
items << {:key => :dummy1, :name => "Dummy 1", :url => "#", :items => [
|
93
|
+
{:key => :dummy1_1, :name => "Dummy 1.1", :url => "#"},
|
94
|
+
{:key => :dummy1_2, :name => "Dummy 1.2", :url => "#"}
|
95
|
+
]}
|
96
|
+
|
97
|
+
return render_items items
|
98
|
+
end
|
99
|
+
|
100
|
+
def render_items(items)
|
101
|
+
menu = render_navigation :items => items
|
102
|
+
menu = menu.gsub(/\<ul\>/,'<ul class="menu">')
|
103
|
+
return raw menu
|
104
|
+
end
|
83
105
|
end
|
data/app/models/activity.rb
CHANGED
@@ -209,10 +209,17 @@ class Activity < ActiveRecord::Base
|
|
209
209
|
|
210
210
|
case action
|
211
211
|
when 'create'
|
212
|
-
return contact.sender_id
|
213
|
-
|
214
|
-
|
215
|
-
|
212
|
+
return false if contact.sender_id != Actor.normalize_id(subject)
|
213
|
+
|
214
|
+
rels = Relation.normalize(relation_ids)
|
215
|
+
|
216
|
+
foreign_rels = rels.select{ |r| r.actor_id != contact.sender_id }
|
217
|
+
|
218
|
+
# Only posting to own relations
|
219
|
+
return true if foreign_rels.blank?
|
220
|
+
|
221
|
+
return Relation.
|
222
|
+
allow(subject, action, 'activity', :in => foreign_rels).all.size == foreign_rels.size
|
216
223
|
when 'read'
|
217
224
|
return true if [contact.sender_id, contact.receiver_id].include?(Actor.normalize_id(subject)) || relations.select{ |r| r.is_a?(Relation::Public) }.any?
|
218
225
|
when 'update'
|
data/app/models/actor.rb
CHANGED
data/app/models/comment.rb
CHANGED
data/app/models/contact.rb
CHANGED
@@ -51,6 +51,8 @@ class Contact < ActiveRecord::Base
|
|
51
51
|
scope :active, where(arel_table[:ties_count].gt(0))
|
52
52
|
|
53
53
|
validates_presence_of :sender_id, :receiver_id
|
54
|
+
validates_uniqueness_of :sender_id, :scope => :receiver_id
|
55
|
+
validates_uniqueness_of :receiver_id, :scope => :sender_id
|
54
56
|
|
55
57
|
after_create :set_inverse
|
56
58
|
after_create :send_message
|
data/app/models/group.rb
CHANGED
data/app/models/post.rb
CHANGED
data/app/models/user.rb
CHANGED
@@ -11,8 +11,8 @@
|
|
11
11
|
<div id="wrapper_activities_header">
|
12
12
|
<div id="activities_title" class="content_size">
|
13
13
|
<% SocialStream.activity_forms.each do |element| %>
|
14
|
-
<div id="header_<%= element %>" class="activities_title_header">
|
15
|
-
|
14
|
+
<div id="header_<%= element %>" class="activities_title_header">
|
15
|
+
<%= render :partial => element.to_s.pluralize+'/header' %>
|
16
16
|
</div>
|
17
17
|
<% end %>
|
18
18
|
</div>
|
@@ -23,4 +23,4 @@
|
|
23
23
|
<%= render activities %>
|
24
24
|
<%= paginate activities %>
|
25
25
|
</div>
|
26
|
-
</div>
|
26
|
+
</div>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div class="activity_options">
|
2
2
|
<ul class="activity_options" >
|
3
3
|
<li><div class="post_time_ago"><%= t('time.ago', :time => time_ago_in_words(activity.created_at)) %></div></li>
|
4
|
-
<% if activity.is_root? && current_subject.activity_relations?(activity.receiver, :in => activity.relations) %>
|
4
|
+
<% if activity.is_root? && user_signed_in? && current_subject.activity_relations?(activity.receiver, :in => activity.relations) %>
|
5
5
|
<li><div class="verb_comment"> · <%= link_to t('activity.to_comment'), "#", :class => "to_comment" %> </div></li>
|
6
6
|
<% end %>
|
7
7
|
<li><div class="verb_like" id="like_<%= dom_id(activity) %>"> · <%= link_like(activity)%></div></li>
|
@@ -7,8 +7,8 @@
|
|
7
7
|
<%= render :partial => object.class.to_s.tableize+'/fields' , :locals => {:f => f} %>
|
8
8
|
|
9
9
|
<% if current_subject != receiver %>
|
10
|
-
<%
|
10
|
+
<% current_subject.activity_relations(receiver, :from => :receiver).each do |r| %>
|
11
11
|
<%= f.hidden_field "_relation_ids][", :value => r.id %>
|
12
12
|
<% end %>
|
13
13
|
<% end %>
|
14
|
-
<% end %>
|
14
|
+
<% end %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= image_tag("btn/post.png") %> <%=t('post.title')%>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<div class ="content">
|
11
11
|
<div class="contact space_center">
|
12
12
|
<% cs.each do |contact| %>
|
13
|
-
<%= link_to(image_tag(contact.logo.url, :alt => contact.name , :size => "28x28"), contact) %>
|
13
|
+
<%= link_to(image_tag(contact.logo.url(:contact), :alt => contact.name , :size => "28x28"), contact) %>
|
14
14
|
<% end %>
|
15
15
|
</div>
|
16
16
|
</div>
|
@@ -40,6 +40,10 @@ class SocialStream::Base::InstallGenerator < Rails::Generators::Base #:nodoc:
|
|
40
40
|
'app/views/layouts/application.html.erb'
|
41
41
|
end
|
42
42
|
|
43
|
+
def create_navigation_config
|
44
|
+
copy_file 'navigation.rb', 'config/navigation.rb'
|
45
|
+
end
|
46
|
+
|
43
47
|
def create_migration_file
|
44
48
|
require 'rake'
|
45
49
|
Rails.application.load_tasks
|
File without changes
|
data/lib/social_stream-base.rb
CHANGED
@@ -31,6 +31,8 @@ require 'acts_as_taggable_on/social_stream'
|
|
31
31
|
require 'formtastic'
|
32
32
|
#Background tasks
|
33
33
|
require 'resque/server'
|
34
|
+
#Simple Navigation for menu
|
35
|
+
require 'simple-navigation'
|
34
36
|
|
35
37
|
# Provides your Rails application with social network and activity stream support
|
36
38
|
module SocialStream
|
data/lib/social_stream/base.rb
CHANGED
@@ -8,12 +8,6 @@ module SocialStream
|
|
8
8
|
config.app_generators.messages :mailboxer
|
9
9
|
config.app_generators.taggings :acts_as_taggable_on
|
10
10
|
|
11
|
-
config.to_prepare do
|
12
|
-
%w( actor activity_object ).each do |supertype|
|
13
|
-
supertype.classify.constantize.load_subtype_features
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
11
|
initializer "social_stream-base.inflections" do
|
18
12
|
ActiveSupport::Inflector.inflections do |inflect|
|
19
13
|
inflect.singular /^([Tt]ie)s$/, '\1'
|
@@ -18,15 +18,6 @@ module SocialStream #:nodoc:
|
|
18
18
|
def subtypes
|
19
19
|
SocialStream.__send__ @subtypes_name.to_s.tableize # SocialStream.subjects # in Actor
|
20
20
|
end
|
21
|
-
|
22
|
-
def load_subtype_features
|
23
|
-
features = "SocialStream::Models::#{ @subtypes_name.to_s.classify }".constantize
|
24
|
-
|
25
|
-
subtypes.each do |s|
|
26
|
-
s = s.to_s.classify.constantize
|
27
|
-
s.__send__(:include, features) unless s.ancestors.include?(features)
|
28
|
-
end
|
29
|
-
end
|
30
21
|
end
|
31
22
|
|
32
23
|
module InstanceMethods
|
data/lib/tasks/db/populate.rake
CHANGED
@@ -101,9 +101,7 @@ namespace :db do
|
|
101
101
|
|
102
102
|
Forgery::Basic.number(:at_most => actors.size).times do
|
103
103
|
actor = actors.delete_at((rand * actors.size).to_i)
|
104
|
-
|
105
|
-
:receiver_id => actor.id,
|
106
|
-
:relation_ids => Array(relations.random.id)
|
104
|
+
a.contact_to!(actor).relation_ids = Array(relations.random.id)
|
107
105
|
end
|
108
106
|
end
|
109
107
|
|
data/social_stream-base.gemspec
CHANGED
@@ -35,17 +35,18 @@ Gem::Specification.new do |s|
|
|
35
35
|
# OAuth provider
|
36
36
|
s.add_runtime_dependency('oauth-plugin','~> 0.4.0.pre1')
|
37
37
|
# Messages
|
38
|
-
s.add_runtime_dependency('mailboxer','~> 0.2.
|
38
|
+
s.add_runtime_dependency('mailboxer','~> 0.2.4')
|
39
39
|
# Avatar manipulation
|
40
40
|
s.add_runtime_dependency('rmagick','~> 2.13.1')
|
41
41
|
# Tagging
|
42
42
|
s.add_runtime_dependency('acts-as-taggable-on','~> 2.0.6')
|
43
43
|
# HTML Forms
|
44
44
|
s.add_runtime_dependency('formtastic','~> 1.2.3')
|
45
|
+
# Simple navigation for menu
|
46
|
+
s.add_runtime_dependency('simple-navigation')
|
45
47
|
#Gem dependencies
|
46
48
|
s.add_runtime_dependency('resque','~> 1.17.1')
|
47
49
|
|
48
|
-
# Freeze Rails to 3.0.7 until Mailboxer bug is fixed
|
49
50
|
s.add_runtime_dependency('rails', '3.1.0.rc4')
|
50
51
|
|
51
52
|
# Development Gem dependencies
|
@@ -37,4 +37,23 @@ describe ContactsController do
|
|
37
37
|
first.relation.
|
38
38
|
should == @user.relations.last
|
39
39
|
end
|
40
|
+
|
41
|
+
it "should create contact" do
|
42
|
+
sign_in @user
|
43
|
+
|
44
|
+
group = Factory(:group)
|
45
|
+
contact = @user.contact_to!(group)
|
46
|
+
|
47
|
+
|
48
|
+
put :update, :id => contact.id,
|
49
|
+
:contact => { :relation_ids => [ "gotcha", @user.relations.last.id ],
|
50
|
+
:message => "Testing" }
|
51
|
+
|
52
|
+
response.should redirect_to(contact.receiver_subject)
|
53
|
+
contact.reload.
|
54
|
+
ties.
|
55
|
+
first.relation.
|
56
|
+
should == @user.relations.last
|
57
|
+
end
|
58
|
+
|
40
59
|
end
|
@@ -63,7 +63,8 @@ describe GroupsController do
|
|
63
63
|
@group = Factory(:member, :contact => Factory(:group_contact, :receiver => @user.actor)).sender_subject
|
64
64
|
get :show, :id => @group.to_param
|
65
65
|
|
66
|
-
|
66
|
+
response.should be_success
|
67
|
+
response.body.should =~ /activities_share_btn/
|
67
68
|
end
|
68
69
|
|
69
70
|
it "should render other group" do
|
@@ -16,6 +16,15 @@ describe UsersController do
|
|
16
16
|
assert_response :success
|
17
17
|
end
|
18
18
|
|
19
|
+
it "should render show with public activity" do
|
20
|
+
activity = Factory(:public_activity)
|
21
|
+
|
22
|
+
get :show, :id => activity.receiver.to_param
|
23
|
+
|
24
|
+
response.should be_success
|
25
|
+
response.body.should =~ /activity_#{ activity.id }/
|
26
|
+
end
|
27
|
+
|
19
28
|
it "should not render edit" do
|
20
29
|
begin
|
21
30
|
get :edit, :id => Factory(:user).to_param
|
data/spec/factories/activity.rb
CHANGED
@@ -1,7 +1,16 @@
|
|
1
1
|
Factory.define :activity do |a|
|
2
2
|
a.contact { Factory(:friend).contact }
|
3
3
|
a.activity_verb { ActivityVerb["post"] }
|
4
|
-
a.relation_ids { |b| Array(b.sender.relation_custom('friend')) }
|
4
|
+
a.relation_ids { |b| Array(b.sender.relation_custom('friend').id) }
|
5
|
+
end
|
6
|
+
|
7
|
+
Factory.define :self_activity, :parent => :activity do |a|
|
8
|
+
a.contact { Factory(:self_contact) }
|
9
|
+
a.relation_ids { |b| Array(b.sender.relation_custom('friend').id) }
|
10
|
+
end
|
11
|
+
|
12
|
+
Factory.define :public_activity, :parent => :activity do |a|
|
13
|
+
a.relation_ids { |b| Array(b.sender.relation_public.id) }
|
5
14
|
end
|
6
15
|
|
7
16
|
Factory.define :like_activity, :parent => :activity do |a|
|
data/spec/factories/contact.rb
CHANGED
@@ -3,6 +3,10 @@ Factory.define :contact do |c|
|
|
3
3
|
c.receiver { |r| Factory(:user).actor }
|
4
4
|
end
|
5
5
|
|
6
|
+
Factory.define :self_contact, :parent => :contact do |c|
|
7
|
+
c.receiver { |d| d.sender }
|
8
|
+
end
|
9
|
+
|
6
10
|
Factory.define :group_contact, :parent => :contact do |g|
|
7
11
|
g.sender { |s| Factory(:group).actor }
|
8
12
|
end
|
@@ -104,6 +104,13 @@ describe Activity do
|
|
104
104
|
end
|
105
105
|
end
|
106
106
|
|
107
|
+
describe "friend's profile" do
|
108
|
+
it "should not include activity" do
|
109
|
+
friend = Factory(:friend, :contact => Factory(:contact, :sender => @activity.sender)).receiver
|
110
|
+
friend.wall(:profile, :for => @activity.sender).should_not include(@activity)
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
107
114
|
describe "sender profile" do
|
108
115
|
context "for sender" do
|
109
116
|
it "should include activity" do
|
@@ -121,6 +128,83 @@ describe Activity do
|
|
121
128
|
end
|
122
129
|
end
|
123
130
|
end
|
131
|
+
|
132
|
+
context "with a self friend activity" do
|
133
|
+
before do
|
134
|
+
@activity = Factory(:self_activity)
|
135
|
+
end
|
136
|
+
|
137
|
+
describe "friend's profile" do
|
138
|
+
it "should not include activity" do
|
139
|
+
friend = Factory(:friend, :contact => Factory(:contact, :sender => @activity.sender)).receiver
|
140
|
+
friend.wall(:profile, :for => @activity.sender).should_not include(@activity)
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
context "with a public activity" do
|
146
|
+
before do
|
147
|
+
@activity = Factory(:public_activity)
|
148
|
+
end
|
149
|
+
|
150
|
+
describe "sender home" do
|
151
|
+
it "should include activity" do
|
152
|
+
@activity.sender.wall(:home).should include(@activity)
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
describe "receiver home" do
|
157
|
+
it "should include activity" do
|
158
|
+
@activity.receiver.wall(:home).should include(@activity)
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
describe "alien home" do
|
163
|
+
it "should not include activity" do
|
164
|
+
Factory(:user).wall(:home).should_not include(@activity)
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
describe "sender profile" do
|
169
|
+
context "for sender" do
|
170
|
+
it "should include activity" do
|
171
|
+
@activity.sender.wall(:profile, :for => @activity.sender).should include(@activity)
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
context "for receiver" do
|
176
|
+
it "should include activity" do
|
177
|
+
@activity.sender.wall(:profile, :for => @activity.receiver).should include(@activity)
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
context "for Anonymous" do
|
182
|
+
it "should include activity" do
|
183
|
+
@activity.sender.wall(:profile, :for => nil).should include(@activity)
|
184
|
+
end
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
describe "receiver profile" do
|
189
|
+
context "for sender" do
|
190
|
+
it "should include activity" do
|
191
|
+
@activity.receiver.wall(:profile, :for => @activity.sender).should include(@activity)
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
195
|
+
context "for receiver" do
|
196
|
+
it "should include activity" do
|
197
|
+
@activity.receiver.wall(:profile, :for => @activity.receiver).should include(@activity)
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
context "for Anonymous" do
|
202
|
+
it "should include activity" do
|
203
|
+
@activity.receiver.wall(:profile, :for => nil).should include(@activity)
|
204
|
+
end
|
205
|
+
end
|
206
|
+
end
|
207
|
+
end
|
124
208
|
end
|
125
209
|
|
126
210
|
context "user" do
|
data/spec/spec_helper.rb
CHANGED
@@ -27,8 +27,3 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
|
27
27
|
# Load Factories
|
28
28
|
require 'factory_girl'
|
29
29
|
Dir["#{File.dirname(__FILE__)}/factories/*.rb"].each {|f| require f}
|
30
|
-
|
31
|
-
RSpec.configure do |config|
|
32
|
-
# == Mock Framework
|
33
|
-
config.mock_with :rspec
|
34
|
-
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: social_stream-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 5
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
version: 0.6.
|
9
|
+
- 1
|
10
|
+
version: 0.6.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- GING - DIT - UPM
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-07-
|
19
|
+
date: 2011-07-04 00:00:00 +02:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -205,12 +205,12 @@ dependencies:
|
|
205
205
|
requirements:
|
206
206
|
- - ~>
|
207
207
|
- !ruby/object:Gem::Version
|
208
|
-
hash:
|
208
|
+
hash: 31
|
209
209
|
segments:
|
210
210
|
- 0
|
211
211
|
- 2
|
212
|
-
-
|
213
|
-
version: 0.2.
|
212
|
+
- 4
|
213
|
+
version: 0.2.4
|
214
214
|
type: :runtime
|
215
215
|
version_requirements: *id012
|
216
216
|
- !ruby/object:Gem::Dependency
|
@@ -262,9 +262,23 @@ dependencies:
|
|
262
262
|
type: :runtime
|
263
263
|
version_requirements: *id015
|
264
264
|
- !ruby/object:Gem::Dependency
|
265
|
-
name:
|
265
|
+
name: simple-navigation
|
266
266
|
prerelease: false
|
267
267
|
requirement: &id016 !ruby/object:Gem::Requirement
|
268
|
+
none: false
|
269
|
+
requirements:
|
270
|
+
- - ">="
|
271
|
+
- !ruby/object:Gem::Version
|
272
|
+
hash: 3
|
273
|
+
segments:
|
274
|
+
- 0
|
275
|
+
version: "0"
|
276
|
+
type: :runtime
|
277
|
+
version_requirements: *id016
|
278
|
+
- !ruby/object:Gem::Dependency
|
279
|
+
name: resque
|
280
|
+
prerelease: false
|
281
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
268
282
|
none: false
|
269
283
|
requirements:
|
270
284
|
- - ~>
|
@@ -276,11 +290,11 @@ dependencies:
|
|
276
290
|
- 1
|
277
291
|
version: 1.17.1
|
278
292
|
type: :runtime
|
279
|
-
version_requirements: *
|
293
|
+
version_requirements: *id017
|
280
294
|
- !ruby/object:Gem::Dependency
|
281
295
|
name: rails
|
282
296
|
prerelease: false
|
283
|
-
requirement: &
|
297
|
+
requirement: &id018 !ruby/object:Gem::Requirement
|
284
298
|
none: false
|
285
299
|
requirements:
|
286
300
|
- - "="
|
@@ -294,11 +308,11 @@ dependencies:
|
|
294
308
|
- 4
|
295
309
|
version: 3.1.0.rc4
|
296
310
|
type: :runtime
|
297
|
-
version_requirements: *
|
311
|
+
version_requirements: *id018
|
298
312
|
- !ruby/object:Gem::Dependency
|
299
313
|
name: capybara
|
300
314
|
prerelease: false
|
301
|
-
requirement: &
|
315
|
+
requirement: &id019 !ruby/object:Gem::Requirement
|
302
316
|
none: false
|
303
317
|
requirements:
|
304
318
|
- - ~>
|
@@ -310,11 +324,11 @@ dependencies:
|
|
310
324
|
- 9
|
311
325
|
version: 0.3.9
|
312
326
|
type: :development
|
313
|
-
version_requirements: *
|
327
|
+
version_requirements: *id019
|
314
328
|
- !ruby/object:Gem::Dependency
|
315
329
|
name: sqlite3-ruby
|
316
330
|
prerelease: false
|
317
|
-
requirement: &
|
331
|
+
requirement: &id020 !ruby/object:Gem::Requirement
|
318
332
|
none: false
|
319
333
|
requirements:
|
320
334
|
- - ">="
|
@@ -324,11 +338,11 @@ dependencies:
|
|
324
338
|
- 0
|
325
339
|
version: "0"
|
326
340
|
type: :development
|
327
|
-
version_requirements: *
|
341
|
+
version_requirements: *id020
|
328
342
|
- !ruby/object:Gem::Dependency
|
329
343
|
name: ruby-debug
|
330
344
|
prerelease: false
|
331
|
-
requirement: &
|
345
|
+
requirement: &id021 !ruby/object:Gem::Requirement
|
332
346
|
none: false
|
333
347
|
requirements:
|
334
348
|
- - ~>
|
@@ -340,11 +354,11 @@ dependencies:
|
|
340
354
|
- 3
|
341
355
|
version: 0.10.3
|
342
356
|
type: :development
|
343
|
-
version_requirements: *
|
357
|
+
version_requirements: *id021
|
344
358
|
- !ruby/object:Gem::Dependency
|
345
359
|
name: rspec-rails
|
346
360
|
prerelease: false
|
347
|
-
requirement: &
|
361
|
+
requirement: &id022 !ruby/object:Gem::Requirement
|
348
362
|
none: false
|
349
363
|
requirements:
|
350
364
|
- - ~>
|
@@ -356,11 +370,11 @@ dependencies:
|
|
356
370
|
- 1
|
357
371
|
version: 2.6.1
|
358
372
|
type: :development
|
359
|
-
version_requirements: *
|
373
|
+
version_requirements: *id022
|
360
374
|
- !ruby/object:Gem::Dependency
|
361
375
|
name: factory_girl
|
362
376
|
prerelease: false
|
363
|
-
requirement: &
|
377
|
+
requirement: &id023 !ruby/object:Gem::Requirement
|
364
378
|
none: false
|
365
379
|
requirements:
|
366
380
|
- - ~>
|
@@ -372,11 +386,11 @@ dependencies:
|
|
372
386
|
- 2
|
373
387
|
version: 1.3.2
|
374
388
|
type: :development
|
375
|
-
version_requirements: *
|
389
|
+
version_requirements: *id023
|
376
390
|
- !ruby/object:Gem::Dependency
|
377
391
|
name: forgery
|
378
392
|
prerelease: false
|
379
|
-
requirement: &
|
393
|
+
requirement: &id024 !ruby/object:Gem::Requirement
|
380
394
|
none: false
|
381
395
|
requirements:
|
382
396
|
- - ~>
|
@@ -388,11 +402,11 @@ dependencies:
|
|
388
402
|
- 6
|
389
403
|
version: 0.3.6
|
390
404
|
type: :development
|
391
|
-
version_requirements: *
|
405
|
+
version_requirements: *id024
|
392
406
|
- !ruby/object:Gem::Dependency
|
393
407
|
name: ci_reporter
|
394
408
|
prerelease: false
|
395
|
-
requirement: &
|
409
|
+
requirement: &id025 !ruby/object:Gem::Requirement
|
396
410
|
none: false
|
397
411
|
requirements:
|
398
412
|
- - ~>
|
@@ -404,11 +418,11 @@ dependencies:
|
|
404
418
|
- 4
|
405
419
|
version: 1.6.4
|
406
420
|
type: :development
|
407
|
-
version_requirements: *
|
421
|
+
version_requirements: *id025
|
408
422
|
- !ruby/object:Gem::Dependency
|
409
423
|
name: nifty-generators
|
410
424
|
prerelease: false
|
411
|
-
requirement: &
|
425
|
+
requirement: &id026 !ruby/object:Gem::Requirement
|
412
426
|
none: false
|
413
427
|
requirements:
|
414
428
|
- - ~>
|
@@ -420,7 +434,7 @@ dependencies:
|
|
420
434
|
- 5
|
421
435
|
version: 0.4.5
|
422
436
|
type: :development
|
423
|
-
version_requirements: *
|
437
|
+
version_requirements: *id026
|
424
438
|
description: |-
|
425
439
|
Social Stream is a Ruby on Rails engine providing your application with social networking features and activity streams.
|
426
440
|
|
@@ -1016,6 +1030,7 @@ files:
|
|
1016
1030
|
- app/views/permissions/_index.html.erb
|
1017
1031
|
- app/views/permissions/index.js.erb
|
1018
1032
|
- app/views/posts/_fields.erb
|
1033
|
+
- app/views/posts/_header.html.erb
|
1019
1034
|
- app/views/posts/_new.html.erb
|
1020
1035
|
- app/views/posts/_post.html.erb
|
1021
1036
|
- app/views/posts/create.js.erb
|
@@ -1076,6 +1091,7 @@ files:
|
|
1076
1091
|
- lib/acts_as_taggable_on/social_stream.rb
|
1077
1092
|
- lib/generators/social_stream/base/install_generator.rb
|
1078
1093
|
- lib/generators/social_stream/base/templates/initializer.rb
|
1094
|
+
- lib/generators/social_stream/base/templates/navigation.rb
|
1079
1095
|
- lib/generators/social_stream/base/templates/relations.yml
|
1080
1096
|
- lib/paperclip/social_stream.rb
|
1081
1097
|
- lib/social_stream-base.rb
|
@@ -1130,6 +1146,7 @@ files:
|
|
1130
1146
|
- spec/dummy/config/initializers/social_stream.rb
|
1131
1147
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
1132
1148
|
- spec/dummy/config/locales/en.yml
|
1149
|
+
- spec/dummy/config/navigation.rb
|
1133
1150
|
- spec/dummy/config/relations.yml
|
1134
1151
|
- spec/dummy/config/routes.rb
|
1135
1152
|
- spec/dummy/db/migrate/.gitkeep
|
@@ -1168,6 +1185,7 @@ files:
|
|
1168
1185
|
- spec/support/db.rb
|
1169
1186
|
- spec/support/devise.rb
|
1170
1187
|
- spec/support/migrations.rb
|
1188
|
+
- spec/support/mock.rb
|
1171
1189
|
has_rdoc: true
|
1172
1190
|
homepage: http://social-stream.dit.upm.es/
|
1173
1191
|
licenses: []
|