social_stream 0.3.4 → 0.3.5
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/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
|