social_stream 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -0
- data/Gemfile.lock +15 -9
- data/Rakefile +1 -0
- data/app/controllers/activities_controller.rb +2 -0
- data/app/controllers/posts_controller.rb +9 -0
- data/app/controllers/ties_controller.rb +73 -0
- data/app/helpers/ties_helper.rb +18 -0
- data/app/models/activity_verb.rb +5 -1
- data/app/models/actor.rb +61 -10
- data/app/models/post.rb +3 -0
- data/app/models/tie.rb +2 -0
- data/app/views/activities/_jquery.html.erb +2 -0
- data/app/views/posts/_post.html.erb +3 -0
- data/app/views/posts/create.js.erb +5 -0
- data/app/views/posts/destroy.js.erb +2 -0
- data/app/views/ties/_pending.html.erb +3 -3
- data/app/views/ties/_suggestion.html.erb +20 -0
- data/app/views/ties/_suggestions.html.erb +12 -0
- data/config/locales/en.yml +12 -3
- data/lib/generators/social_stream/templates/initializer.rb +2 -2
- data/lib/generators/social_stream/templates/migration.rb +10 -0
- data/lib/social_stream.rb +1 -1
- data/lib/social_stream/models/activity_object.rb +11 -1
- data/lib/social_stream/models/actor.rb +12 -4
- data/lib/social_stream/models/supertype.rb +1 -1
- data/lib/social_stream/rails.rb +2 -0
- data/lib/social_stream/rails/common.rb +1 -0
- data/lib/social_stream/version.rb +1 -1
- metadata +30 -4
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -54,7 +54,11 @@ GEM
|
|
54
54
|
factory_girl (1.3.2)
|
55
55
|
ffi (0.6.3)
|
56
56
|
rake (>= 0.8.7)
|
57
|
+
has_scope (0.5.0)
|
57
58
|
i18n (0.4.1)
|
59
|
+
inherited_resources (1.1.2)
|
60
|
+
has_scope (~> 0.5.0)
|
61
|
+
responders (~> 0.6.0)
|
58
62
|
json_pure (1.4.6)
|
59
63
|
linecache (0.43)
|
60
64
|
mail (2.2.7)
|
@@ -83,16 +87,17 @@ GEM
|
|
83
87
|
rake (>= 0.8.4)
|
84
88
|
thor (~> 0.14.0)
|
85
89
|
rake (0.8.7)
|
86
|
-
|
87
|
-
|
88
|
-
rspec-
|
89
|
-
rspec-
|
90
|
-
|
91
|
-
rspec-
|
90
|
+
responders (0.6.2)
|
91
|
+
rspec (2.0.1)
|
92
|
+
rspec-core (~> 2.0.1)
|
93
|
+
rspec-expectations (~> 2.0.1)
|
94
|
+
rspec-mocks (~> 2.0.1)
|
95
|
+
rspec-core (2.0.1)
|
96
|
+
rspec-expectations (2.0.1)
|
92
97
|
diff-lcs (>= 1.1.2)
|
93
|
-
rspec-mocks (2.0.
|
94
|
-
rspec-core (
|
95
|
-
rspec-expectations (
|
98
|
+
rspec-mocks (2.0.1)
|
99
|
+
rspec-core (~> 2.0.1)
|
100
|
+
rspec-expectations (~> 2.0.1)
|
96
101
|
rspec-rails (2.0.1)
|
97
102
|
rspec (~> 2.0.0)
|
98
103
|
ruby-debug (0.10.3)
|
@@ -123,6 +128,7 @@ DEPENDENCIES
|
|
123
128
|
capybara (>= 0.3.9)
|
124
129
|
devise
|
125
130
|
factory_girl
|
131
|
+
inherited_resources
|
126
132
|
rails (= 3.0.0)
|
127
133
|
rspec-rails (>= 2.0.0.beta)
|
128
134
|
ruby-debug (>= 0.10.3)
|
data/Rakefile
CHANGED
@@ -32,6 +32,7 @@ spec = Gem::Specification.new do |s|
|
|
32
32
|
s.files = FileList["[A-Z]*", "{app,config,lib}/**/*"]
|
33
33
|
s.add_dependency('atd-ancestry', '~> 1.3.0')
|
34
34
|
s.add_dependency('devise', '~> 1.1.3')
|
35
|
+
s.add_dependency('inherited_resources', '~> 1.1.2')
|
35
36
|
end
|
36
37
|
|
37
38
|
Rake::GemPackageTask.new(spec) do |pkg|
|
@@ -0,0 +1,73 @@
|
|
1
|
+
class TiesController < ApplicationController
|
2
|
+
before_filter :actor!
|
3
|
+
|
4
|
+
# GET /ties
|
5
|
+
# GET /ties.xml
|
6
|
+
def index
|
7
|
+
@ties = actor.sent_ties.all
|
8
|
+
|
9
|
+
respond_to do |format|
|
10
|
+
format.html # index.html.erb
|
11
|
+
format.xml { render :xml => @ties }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
# GET /ties/1
|
16
|
+
# GET /ties/1.xml
|
17
|
+
def show
|
18
|
+
@tie = actor.sent_ties.find(params[:id])
|
19
|
+
|
20
|
+
respond_to do |format|
|
21
|
+
format.html # show.html.erb
|
22
|
+
format.xml { render :xml => @tie }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# GET /ties/new
|
27
|
+
# GET /ties/new.xml
|
28
|
+
def new
|
29
|
+
@tie = actor!.sent_ties.build(params[:tie])
|
30
|
+
|
31
|
+
respond_to do |format|
|
32
|
+
format.html {render :layout => false }
|
33
|
+
#format.xml { render :xml => @tie }
|
34
|
+
format.js {render :partial => "ties/new"}
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# POST /ties
|
39
|
+
# POST /ties.xml
|
40
|
+
def create
|
41
|
+
@tie = Tie.new(params[:tie])
|
42
|
+
|
43
|
+
respond_to do |format|
|
44
|
+
if @tie.save
|
45
|
+
format.html { redirect_to(@tie, :notice => 'Tie was successfully created.') }
|
46
|
+
format.xml { render :xml => @tie, :status => :created, :location => @tie }
|
47
|
+
format.js
|
48
|
+
else
|
49
|
+
format.html { render :partial => "new" }
|
50
|
+
format.xml { render :xml => @tie.errors, :status => :unprocessable_entity }
|
51
|
+
format.js
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
# DELETE /ties/1
|
57
|
+
# DELETE /ties/1.xml
|
58
|
+
def destroy
|
59
|
+
@tie = Tie.find(params[:id])
|
60
|
+
@tie.destroy
|
61
|
+
|
62
|
+
respond_to do |format|
|
63
|
+
format.html { redirect_to(ties_url) }
|
64
|
+
format.xml { head :ok }
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
private
|
69
|
+
|
70
|
+
def actor!
|
71
|
+
current_user
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module TiesHelper
|
2
|
+
def suggestion_brief(subject)
|
3
|
+
"18 contacts in common"
|
4
|
+
end
|
5
|
+
|
6
|
+
def suggestion_link(subject, relations)
|
7
|
+
relation = relations[subject.class.to_s.underscore.to_sym] # relation = relations[:user]
|
8
|
+
|
9
|
+
raise "Relation not provided for #{ subject.class.to_s.underscore }" if relation.blank?
|
10
|
+
|
11
|
+
link_to t("tie.suggestion.#{ relation }.new"),
|
12
|
+
new_tie_path("tie[sender_id]" => current_user.actor.id,
|
13
|
+
"tie[receiver_id]" => subject.actor.id,
|
14
|
+
"tie[relation_name]" => relation),
|
15
|
+
:class => 'boxy',
|
16
|
+
:title => t("tie.suggestion.#{ relation }.confirm_new", :name => subject.name)
|
17
|
+
end
|
18
|
+
end
|
data/app/models/activity_verb.rb
CHANGED
data/app/models/actor.rb
CHANGED
@@ -23,22 +23,57 @@ class Actor < ActiveRecord::Base
|
|
23
23
|
Tie.sent_or_received_by(self)
|
24
24
|
end
|
25
25
|
|
26
|
-
# All the subject actors of class
|
27
|
-
#
|
26
|
+
# All the subject actors of class subject_type that send at least one tie
|
27
|
+
# to this actor
|
28
28
|
#
|
29
29
|
# Options::
|
30
30
|
# * relations: Restrict the relations of considered ties
|
31
|
-
|
32
|
-
|
31
|
+
# * include_self: False by default, don't include this actor as subject even they
|
32
|
+
# have ties with themselves.
|
33
|
+
def sender_subjects(subject_type, options = {})
|
34
|
+
# FIXME: DRY!
|
35
|
+
subject_class = subject_type.to_s.classify.constantize
|
33
36
|
|
34
|
-
cs =
|
35
|
-
select("DISTINCT #{
|
37
|
+
cs = subject_class.
|
38
|
+
select("DISTINCT #{ subject_class.quoted_table_name }.*").
|
39
|
+
with_sent_ties &
|
40
|
+
Tie.received_by(self)
|
41
|
+
|
42
|
+
if options[:include_self].blank?
|
43
|
+
cs = cs.where("#{ self.class.quoted_table_name }.id != ?", self.id)
|
44
|
+
end
|
45
|
+
|
46
|
+
if options[:relations].present?
|
47
|
+
cs &=
|
48
|
+
Tie.related_by(Tie.Relation(options[:relations], :mode => [ subject_class, self.subject.class ]))
|
49
|
+
end
|
50
|
+
|
51
|
+
cs
|
52
|
+
end
|
53
|
+
|
54
|
+
# All the subject actors of class subject_type that receive at least one tie
|
55
|
+
# from this actor
|
56
|
+
#
|
57
|
+
# Options::
|
58
|
+
# * relations: Restrict the relations of considered ties
|
59
|
+
# * include_self: False by default, don't include this actor as subject even they
|
60
|
+
# have ties with themselves.
|
61
|
+
def receiver_subjects(subject_type, options = {})
|
62
|
+
# FIXME: DRY!
|
63
|
+
subject_class = subject_type.to_s.classify.constantize
|
64
|
+
|
65
|
+
cs = subject_class.
|
66
|
+
select("DISTINCT #{ subject_class.quoted_table_name }.*").
|
36
67
|
with_received_ties &
|
37
68
|
Tie.sent_by(self)
|
38
69
|
|
70
|
+
if options[:include_self].blank?
|
71
|
+
cs = cs.where("#{ self.class.quoted_table_name }.id != ?", self.id)
|
72
|
+
end
|
73
|
+
|
39
74
|
if options[:relations].present?
|
40
75
|
cs &=
|
41
|
-
Tie.related_by(Tie.Relation(options[:relations], :mode => [ subject.class,
|
76
|
+
Tie.related_by(Tie.Relation(options[:relations], :mode => [ subject.class, subject_class ]))
|
42
77
|
end
|
43
78
|
|
44
79
|
cs
|
@@ -46,9 +81,18 @@ class Actor < ActiveRecord::Base
|
|
46
81
|
|
47
82
|
# This is an scaffold for a recomendations engine
|
48
83
|
#
|
49
|
-
# By now, it returns another
|
50
|
-
|
51
|
-
|
84
|
+
# By now, it returns another subject without any current relation
|
85
|
+
#
|
86
|
+
# Options::
|
87
|
+
# * type: the class of the recommended subject
|
88
|
+
def suggestion(options = {})
|
89
|
+
type = options[:type]
|
90
|
+
|
91
|
+
type = type.present? ?
|
92
|
+
type.to_s.classify.constantize :
|
93
|
+
random_receiving_subject_type
|
94
|
+
|
95
|
+
candidates = type.all - receiver_subjects(type)
|
52
96
|
|
53
97
|
candidates[rand(candidates.size)]
|
54
98
|
end
|
@@ -58,5 +102,12 @@ class Actor < ActiveRecord::Base
|
|
58
102
|
def wall
|
59
103
|
Activity.wall ties
|
60
104
|
end
|
105
|
+
|
106
|
+
private
|
107
|
+
|
108
|
+
def random_receiving_subject_type
|
109
|
+
type_candidates = subject.class.receiving_subject_classes
|
110
|
+
type_candidates[rand(type_candidates.size)]
|
111
|
+
end
|
61
112
|
end
|
62
113
|
|
data/app/models/post.rb
ADDED
data/app/models/tie.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
<% if
|
1
|
+
<% if current_user.received_ties.pending.any? %>
|
2
2
|
<div class="middle_box">
|
3
3
|
<div class="middle_box_header">
|
4
4
|
<%= image_tag('notifications.png', :class => "middle_box_picture_icon") %>
|
5
5
|
<div class="middle_box_text_header"><%= t 'tie.pending.other' %></div>
|
6
6
|
<div class="title_righ">
|
7
|
-
<a href="#"><%= t 'tie.pending.
|
7
|
+
<a href="#"><%= t 'tie.pending.all' %></a>
|
8
8
|
</div>
|
9
9
|
</div>
|
10
|
-
<%
|
10
|
+
<% current_user.received_ties.pending.each do |tie| %>
|
11
11
|
<div class="middle_box_content">
|
12
12
|
<div class="actor_logo">
|
13
13
|
<%= link_to(image_tag(tie.sender_subject.logo, :size => "55x40"),
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<% if (subject = current_user.suggestion).present? %>
|
2
|
+
<div id="suggestion_<%= dom_id(subject) %>" class="suggestion">
|
3
|
+
<div class="suggestion_actor_logo">
|
4
|
+
<%= link_to(image_tag(subject.logo, :size =>"30x30"), subject) %>
|
5
|
+
</div>
|
6
|
+
<div class="suggestion_content">
|
7
|
+
<div class="suggestion_name">
|
8
|
+
<%= link_to(subject.name, subject) %>
|
9
|
+
</div>
|
10
|
+
<div class="suggestion_brief">
|
11
|
+
<%= suggestion_brief(subject) %>
|
12
|
+
</div>
|
13
|
+
<div class="suggestion_link">
|
14
|
+
<%= suggestion_link(subject, :user => 'friend_request',
|
15
|
+
:space => 'follower') %>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
<% end %>
|
20
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<div class="suggestions_header">
|
2
|
+
<%= image_tag('notifications.png', :class => "suggestion_icon") %>
|
3
|
+
<div class="suggestion_text_header">
|
4
|
+
<%=t('tie.suggestion.one') %>
|
5
|
+
</div>
|
6
|
+
</div>
|
7
|
+
<div class="suggestions">
|
8
|
+
<% 2.times do %>
|
9
|
+
<%= render :partial => 'ties/suggestion' %>
|
10
|
+
<% end %>
|
11
|
+
</div>
|
12
|
+
|
data/config/locales/en.yml
CHANGED
@@ -14,16 +14,25 @@ en:
|
|
14
14
|
one: "Home"
|
15
15
|
location:
|
16
16
|
message: "You are here > %{location}"
|
17
|
+
message: "Message"
|
17
18
|
tie:
|
18
19
|
pending:
|
19
20
|
other: Pending requests
|
20
|
-
|
21
|
+
all: "All"
|
22
|
+
suggestion:
|
23
|
+
one: Suggestion
|
24
|
+
other: Suggestions
|
25
|
+
friend_request:
|
26
|
+
new: "+ Add as friend"
|
27
|
+
confirm_new: "Do you want to add %{name} as friend?"
|
28
|
+
follower:
|
29
|
+
new: "+ Follow"
|
30
|
+
confirm_new: "Do you want to follow %{name}?"
|
31
|
+
all: All
|
21
32
|
time:
|
22
33
|
ago: "%{time} ago"
|
23
34
|
days: Days
|
24
35
|
delete:
|
25
36
|
confirm: Delete %{element}}?
|
26
37
|
socialstream: "SocialStream"
|
27
|
-
ask:
|
28
|
-
add_friend: "¿Add %{name} as friend?"
|
29
38
|
all_rights_reserved: All rights reserved
|
@@ -8,10 +8,10 @@ SocialStream.setup do |config|
|
|
8
8
|
# Others available are:
|
9
9
|
# :token_authenticatable, :confirmable, :lockable, :timeoutable, :validatable
|
10
10
|
# config.devise_modules :database_authenticatable, :registerable,
|
11
|
-
|
11
|
+
# :recoverable, :rememberable, :trackable
|
12
12
|
|
13
13
|
# Type of activities managed by actors
|
14
14
|
# Remember you must add an "activity_object_id" foreign key column to your migration!
|
15
15
|
#
|
16
|
-
# config.activity_objects = []
|
16
|
+
# config.activity_objects = [ :post ]
|
17
17
|
end
|
@@ -56,6 +56,15 @@ class CreateSocialStream < ActiveRecord::Migration
|
|
56
56
|
t.datetime "updated_at"
|
57
57
|
end
|
58
58
|
|
59
|
+
create_table "posts", :force => true do |t|
|
60
|
+
t.integer "activity_object_id"
|
61
|
+
t.datetime "created_at"
|
62
|
+
t.datetime "updated_at"
|
63
|
+
t.text "text"
|
64
|
+
end
|
65
|
+
|
66
|
+
add_index "posts", ["activity_object_id"], :name => "fk_post_object"
|
67
|
+
|
59
68
|
create_table "relation_permissions", :force => true do |t|
|
60
69
|
t.integer "relation_id"
|
61
70
|
t.integer "permission_id"
|
@@ -101,6 +110,7 @@ class CreateSocialStream < ActiveRecord::Migration
|
|
101
110
|
t.integer "relation_id"
|
102
111
|
t.datetime "created_at"
|
103
112
|
t.datetime "updated_at"
|
113
|
+
t.text "message"
|
104
114
|
end
|
105
115
|
|
106
116
|
add_index "ties", ["receiver_id"], :name => "fk_tie_receiver"
|
data/lib/social_stream.rb
CHANGED
@@ -25,8 +25,18 @@ module SocialStream
|
|
25
25
|
end
|
26
26
|
|
27
27
|
module InstanceMethods
|
28
|
+
# All the activities with this object
|
28
29
|
def activities
|
29
|
-
|
30
|
+
Activity.
|
31
|
+
includes(:activity_objects => self.class.to_s.underscore).
|
32
|
+
where("#{ self.class.quoted_table_name }.id" => self.id)
|
33
|
+
end
|
34
|
+
|
35
|
+
# The activity in which this object was posted
|
36
|
+
#
|
37
|
+
# FIXME: Currently it only supports direct objects
|
38
|
+
def post_activity
|
39
|
+
(activities.includes(:activity_verb) & ActivityVerb.verb_name('post')).first
|
30
40
|
end
|
31
41
|
|
32
42
|
# Create corresponding ActivityObject including this class type
|
@@ -2,7 +2,7 @@ require 'active_support/concern'
|
|
2
2
|
|
3
3
|
module SocialStream
|
4
4
|
module Models
|
5
|
-
# Additional features for models that are actors
|
5
|
+
# Additional features for models that are subtypes of actors
|
6
6
|
module Actor
|
7
7
|
extend ActiveSupport::Concern
|
8
8
|
|
@@ -16,10 +16,14 @@ module SocialStream
|
|
16
16
|
:permalink, :permalink=,
|
17
17
|
:disabled, :disabled=,
|
18
18
|
:ties, :sent_ties, :received_ties,
|
19
|
-
:
|
19
|
+
:sender_subjects, :receiver_subjects, :suggestion,
|
20
20
|
:wall,
|
21
21
|
:to => :actor!
|
22
22
|
|
23
|
+
|
24
|
+
scope :with_sent_ties, joins(:actor => :sent_ties)
|
25
|
+
scope :with_received_ties, joins(:actor => :received_ties)
|
26
|
+
|
23
27
|
after_create :initialize_default_ties
|
24
28
|
end
|
25
29
|
|
@@ -45,8 +49,12 @@ module SocialStream
|
|
45
49
|
Relation.mode(to_s, to)
|
46
50
|
end
|
47
51
|
|
48
|
-
|
49
|
-
|
52
|
+
# Actor subtypes that may receive a tie from an instance of this class
|
53
|
+
def receiving_subject_classes
|
54
|
+
Relation.select("DISTINCT #{ Relation.quoted_table_name }.receiver_type").
|
55
|
+
where(:sender_type => to_s).
|
56
|
+
map(&:receiver_type).
|
57
|
+
map(&:constantize)
|
50
58
|
end
|
51
59
|
end
|
52
60
|
end
|
@@ -24,7 +24,7 @@ module SocialStream #:nodoc:
|
|
24
24
|
s = s.to_s.classify.constantize
|
25
25
|
s.__send__(:include, features) unless s.ancestors.include?(features)
|
26
26
|
rescue
|
27
|
-
puts "Warning: could not load #{ s }"
|
27
|
+
puts "Warning: could not load #{ s.to_s.classify }"
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
data/lib/social_stream/rails.rb
CHANGED
@@ -20,6 +20,7 @@ module SocialStream
|
|
20
20
|
|
21
21
|
# https://rails.lighthouseapp.com/projects/8994/tickets/1905-apphelpers-within-plugin-not-being-mixed-in
|
22
22
|
ApplicationController.helper ActivitiesHelper
|
23
|
+
ApplicationController.helper TiesHelper
|
23
24
|
end
|
24
25
|
|
25
26
|
initializer "social_stream.inflections" do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: social_stream
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Antonio Tapiador
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-10-
|
19
|
+
date: 2010-10-20 00:00:00 +02:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -51,6 +51,22 @@ dependencies:
|
|
51
51
|
version: 1.1.3
|
52
52
|
type: :runtime
|
53
53
|
version_requirements: *id002
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: inherited_resources
|
56
|
+
prerelease: false
|
57
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
hash: 23
|
63
|
+
segments:
|
64
|
+
- 1
|
65
|
+
- 1
|
66
|
+
- 2
|
67
|
+
version: 1.1.2
|
68
|
+
type: :runtime
|
69
|
+
version_requirements: *id003
|
54
70
|
description: Ruby on Rails plug-in supporting social networking features and activity streams.
|
55
71
|
email:
|
56
72
|
executables: []
|
@@ -65,10 +81,12 @@ files:
|
|
65
81
|
- Rakefile
|
66
82
|
- Gemfile
|
67
83
|
- README.rdoc
|
84
|
+
- app/helpers/ties_helper.rb
|
68
85
|
- app/helpers/activities_helper.rb
|
69
86
|
- app/models/activity_object.rb
|
70
87
|
- app/models/relation_permission.rb
|
71
88
|
- app/models/tie.rb
|
89
|
+
- app/models/post.rb
|
72
90
|
- app/models/user.rb
|
73
91
|
- app/models/permission.rb
|
74
92
|
- app/models/actor.rb
|
@@ -76,9 +94,17 @@ files:
|
|
76
94
|
- app/models/activity.rb
|
77
95
|
- app/models/relation.rb
|
78
96
|
- app/models/activity_verb.rb
|
97
|
+
- app/controllers/ties_controller.rb
|
98
|
+
- app/controllers/activities_controller.rb
|
79
99
|
- app/controllers/home_controller.rb
|
100
|
+
- app/controllers/posts_controller.rb
|
101
|
+
- app/views/ties/_suggestions.html.erb
|
102
|
+
- app/views/ties/_suggestion.html.erb
|
80
103
|
- app/views/ties/_pending.html.erb
|
81
104
|
- app/views/devise/registrations/new.html.erb
|
105
|
+
- app/views/posts/_post.html.erb
|
106
|
+
- app/views/posts/create.js.erb
|
107
|
+
- app/views/posts/destroy.js.erb
|
82
108
|
- app/views/activities/_activity.html.erb
|
83
109
|
- app/views/activities/_activity_options.html.erb
|
84
110
|
- app/views/activities/_subactivity_options.html.erb
|