social_stream 0.3.4 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- data/app/models/activity.rb +1 -1
- data/app/models/actor.rb +3 -3
- data/app/models/group.rb +12 -7
- data/app/models/tie.rb +1 -1
- data/app/models/user.rb +3 -2
- data/lib/social_stream/version.rb +1 -1
- data/social_stream.gemspec +2 -2
- metadata +11 -11
data/app/models/activity.rb
CHANGED
@@ -96,7 +96,7 @@ class Activity < ActiveRecord::Base
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def liked_by(user) #:nodoc:
|
99
|
-
likes.joins(:ties).where('tie_activities.original' => true)
|
99
|
+
likes.joins(:ties).where('tie_activities.original' => true).merge(Tie.received_by(user))
|
100
100
|
end
|
101
101
|
|
102
102
|
# Does user like this activity?
|
data/app/models/actor.rb
CHANGED
@@ -66,7 +66,7 @@ class Actor < ActiveRecord::Base
|
|
66
66
|
|
67
67
|
# Relations defined and managed by this actor
|
68
68
|
def relations
|
69
|
-
Relation.includes(:ties)
|
69
|
+
Relation.includes(:ties).merge(Tie.sent_by(self))
|
70
70
|
end
|
71
71
|
|
72
72
|
# A given relation defined and managed by this actor
|
@@ -93,9 +93,9 @@ class Actor < ActiveRecord::Base
|
|
93
93
|
|
94
94
|
case options[:direction]
|
95
95
|
when :senders
|
96
|
-
as = as.joins(:sent_ties)
|
96
|
+
as = as.joins(:sent_ties).merge(Tie.received_by(self))
|
97
97
|
when :receivers
|
98
|
-
as = as.joins(:received_ties)
|
98
|
+
as = as.joins(:received_ties).merge(Tie.sent_by(self))
|
99
99
|
else
|
100
100
|
raise "actors in both directions is not supported yet"
|
101
101
|
end
|
data/app/models/group.rb
CHANGED
@@ -9,10 +9,16 @@ class Group < ActiveRecord::Base
|
|
9
9
|
after_create :create_founder
|
10
10
|
after_create :create_participants
|
11
11
|
|
12
|
-
|
12
|
+
def recent_groups
|
13
|
+
subjects(:subject_type => :group, :direction => :receivers) do |q|
|
14
|
+
q.select("ties.created_at").
|
15
|
+
merge(Tie.recent)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
13
19
|
private
|
14
20
|
|
15
|
-
#Creates the ties
|
21
|
+
#Creates the ties between the group and the founder
|
16
22
|
def create_founder
|
17
23
|
founder =
|
18
24
|
Actor.find_by_permalink(_founder) || raise("Cannot create group without founder")
|
@@ -28,11 +34,10 @@ class Group < ActiveRecord::Base
|
|
28
34
|
|
29
35
|
@_participants.each do |participant|
|
30
36
|
|
31
|
-
|
32
|
-
|
37
|
+
participant_actor = Actor.find_by_id(participant.to_i)
|
38
|
+
|
39
|
+
sent_ties.create! :receiver => participant_actor,
|
33
40
|
:relation => relations.sort.first
|
34
41
|
end
|
35
|
-
|
36
42
|
end
|
37
|
-
|
38
|
-
end
|
43
|
+
end
|
data/app/models/tie.rb
CHANGED
@@ -70,7 +70,7 @@ class Tie < ActiveRecord::Base
|
|
70
70
|
|
71
71
|
scope :following, lambda { |a|
|
72
72
|
where(:receiver_id => Actor.normalize_id(a)).
|
73
|
-
joins(:relation => :permissions)
|
73
|
+
joins(:relation => :permissions).merge(Permission.follow)
|
74
74
|
}
|
75
75
|
|
76
76
|
validates_presence_of :sender_id, :receiver_id, :relation_id
|
data/app/models/user.rb
CHANGED
@@ -25,14 +25,15 @@ class User < ActiveRecord::Base
|
|
25
25
|
|
26
26
|
def recent_groups
|
27
27
|
subjects(:subject_type => :group, :direction => :receivers) do |q|
|
28
|
-
q
|
28
|
+
q.select("ties.created_at").
|
29
|
+
merge(Tie.recent)
|
29
30
|
end
|
30
31
|
end
|
31
32
|
|
32
33
|
# Subjects this user can acts as
|
33
34
|
def represented
|
34
35
|
subjects(:direction => :senders) do |q|
|
35
|
-
q.joins(:sent_ties => { :relation => :permissions })
|
36
|
+
q.joins(:sent_ties => { :relation => :permissions }).merge(Permission.represent)
|
36
37
|
end
|
37
38
|
end
|
38
39
|
|
data/social_stream.gemspec
CHANGED
@@ -19,13 +19,13 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.add_runtime_dependency('jquery-rails', '~> 0.2.5')
|
20
20
|
s.add_runtime_dependency('cancan', '~> 1.5.1')
|
21
21
|
s.add_runtime_dependency('will_paginate', '~> 3.0.pre2')
|
22
|
-
s.add_development_dependency('rails', '~> 3.0.
|
22
|
+
s.add_development_dependency('rails', '~> 3.0.5')
|
23
23
|
s.add_development_dependency('capybara', '~> 0.3.9')
|
24
24
|
s.add_development_dependency('sqlite3-ruby')
|
25
25
|
if RUBY_VERSION < '1.9'
|
26
26
|
s.add_development_dependency('ruby-debug', '~> 0.10.3')
|
27
27
|
end
|
28
|
-
s.add_development_dependency('rspec-rails', '~> 2.
|
28
|
+
s.add_development_dependency('rspec-rails', '~> 2.5.0')
|
29
29
|
s.add_development_dependency('factory_girl', '~> 1.3.2')
|
30
30
|
s.add_development_dependency('forgery', '~> 0.3.6')
|
31
31
|
s.add_development_dependency('ci_reporter', '~> 1.6.4')
|
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
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 5
|
10
|
+
version: 0.3.5
|
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-02
|
19
|
+
date: 2011-03-02 00:00:00 +01:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -187,12 +187,12 @@ dependencies:
|
|
187
187
|
requirements:
|
188
188
|
- - ~>
|
189
189
|
- !ruby/object:Gem::Version
|
190
|
-
hash:
|
190
|
+
hash: 13
|
191
191
|
segments:
|
192
192
|
- 3
|
193
193
|
- 0
|
194
|
-
-
|
195
|
-
version: 3.0.
|
194
|
+
- 5
|
195
|
+
version: 3.0.5
|
196
196
|
type: :development
|
197
197
|
version_requirements: *id011
|
198
198
|
- !ruby/object:Gem::Dependency
|
@@ -249,12 +249,12 @@ dependencies:
|
|
249
249
|
requirements:
|
250
250
|
- - ~>
|
251
251
|
- !ruby/object:Gem::Version
|
252
|
-
hash:
|
252
|
+
hash: 27
|
253
253
|
segments:
|
254
254
|
- 2
|
255
|
-
-
|
256
|
-
-
|
257
|
-
version: 2.
|
255
|
+
- 5
|
256
|
+
- 0
|
257
|
+
version: 2.5.0
|
258
258
|
type: :development
|
259
259
|
version_requirements: *id015
|
260
260
|
- !ruby/object:Gem::Dependency
|