social_stream 0.18.1 → 0.18.2
Sign up to get free protection for your applications and to get access to all the features.
- data/base/app/helpers/notifications_helper.rb +25 -0
- data/base/app/models/activity.rb +7 -26
- data/base/app/views/notifications/activities/_post.html.erb +8 -43
- data/base/app/views/notifications/activities/_post.text.erb +2 -31
- data/base/lib/social_stream/base/version.rb +1 -1
- data/base/social_stream-base.gemspec +1 -1
- data/documents/lib/social_stream/documents/version.rb +1 -1
- data/documents/social_stream-documents.gemspec +1 -1
- data/lib/social_stream/version.rb +1 -1
- data/social_stream.gemspec +2 -2
- metadata +26 -26
@@ -1,5 +1,30 @@
|
|
1
1
|
module NotificationsHelper
|
2
2
|
|
3
|
+
# An activity object title
|
4
|
+
def title_of(act_obj)
|
5
|
+
if act_obj.is_a? Comment
|
6
|
+
'Re: ' + title_of(act_obj.parent_post)
|
7
|
+
elsif act_obj.is_a? Post and (not act_obj.text.nil?)
|
8
|
+
act_obj.text.truncate(30, :separator => ' ')
|
9
|
+
elsif act_obj.respond_to? :title and (not act_obj.title.nil?)
|
10
|
+
act_obj.title.truncate(30, :separator => ' ')
|
11
|
+
elsif act_obj.respond_to? :url and (not act_obj.url.nil?)
|
12
|
+
act_obj.url.truncate(30, :separator => ' ')
|
13
|
+
else t('notification.default')
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# An activity object description
|
18
|
+
def description_of(act_obj)
|
19
|
+
if act_obj.respond_to? :text and (not act_obj.text.nil?)
|
20
|
+
sanitize(act_obj.text.truncate(100, :separator =>' '))
|
21
|
+
elsif act_obj.respond_to? :description and (not act_obj.description.nil?)
|
22
|
+
sanitize(act_obj.description.truncate(100, :separator =>' '))
|
23
|
+
else
|
24
|
+
t('notification.watch_it')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
3
28
|
# Set locale as per subject preference
|
4
29
|
def locale_as(subject)
|
5
30
|
if subject.respond_to? :language
|
data/base/app/models/activity.rb
CHANGED
@@ -11,6 +11,8 @@
|
|
11
11
|
#
|
12
12
|
# There are two types of wall, :home and :profile. Check {Actor#wall} for more information
|
13
13
|
#
|
14
|
+
include NotificationsHelper
|
15
|
+
|
14
16
|
class Activity < ActiveRecord::Base
|
15
17
|
# See {SocialStream::Models::Channeled}
|
16
18
|
channeled
|
@@ -343,32 +345,11 @@ class Activity < ActiveRecord::Base
|
|
343
345
|
:who => I18n.t('notification.who.'+ receiver.subject.class.to_s.underscore,
|
344
346
|
:name => receiver_name))
|
345
347
|
when 'post'
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
:title => if direct_object.parent_post.is_a? Post
|
352
|
-
'Re: ' + direct_object.parent_post.text.truncate(30, :separator => ' ')
|
353
|
-
elsif direct_object.parent_post.respond_to? :title
|
354
|
-
'Re: ' + direct_object.parent_post.title.truncate(30, :separator => ' ')
|
355
|
-
else t('notification.default')
|
356
|
-
end)
|
357
|
-
elsif direct_object.is_a? Post
|
358
|
-
I18n.t('notification.post.'+ receiver.subject.class.to_s.underscore,
|
359
|
-
:sender => sender_name,
|
360
|
-
:whose => I18n.t('notification.whose.'+ receiver.subject.class.to_s.underscore,
|
361
|
-
:receiver => receiver_name),
|
362
|
-
:title => direct_object.text.truncate(30, :separator => ' '))
|
363
|
-
elsif direct_object.respond_to? :title
|
364
|
-
I18n.t('notification.post.'+ receiver.subject.class.to_s.underscore,
|
365
|
-
:sender => sender_name,
|
366
|
-
:whose => I18n.t('notification.whose.'+ receiver.subject.class.to_s.underscore,
|
367
|
-
:receiver => receiver_name),
|
368
|
-
:title => direct_object.title.truncate(30, :separator => ' '))
|
369
|
-
else
|
370
|
-
I18n.t('notification.default')
|
371
|
-
end
|
348
|
+
I18n.t('notification.post.'+ receiver.subject.class.to_s.underscore,
|
349
|
+
:sender => sender_name,
|
350
|
+
:whose => I18n.t('notification.whose.'+ receiver.subject.class.to_s.underscore,
|
351
|
+
:receiver => receiver_name),
|
352
|
+
:title => title_of(direct_object))
|
372
353
|
when 'update'
|
373
354
|
I18n.t('notification.update.'+ receiver.subject.class.to_s.underscore,
|
374
355
|
:sender => sender_name,
|
@@ -1,49 +1,14 @@
|
|
1
1
|
<div class="subject">
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
link_to(activity.direct_object.parent_post.text.truncate(30, :separator => ' '),
|
10
|
-
polymorphic_url(activity.direct_object))
|
11
|
-
elsif activity.direct_object.parent_post.respond_to? :title
|
12
|
-
link_to(activity.direct_object.parent_post.title.truncate(30, :separator => ' '),
|
13
|
-
polymorphic_url(activity.direct_object))
|
14
|
-
else t('notification.default')
|
15
|
-
end) %>
|
16
|
-
<% elsif activity.direct_object.is_a? Post %>
|
17
|
-
<%= raw t('notification.post.'+ activity.receiver.subject.class.to_s.underscore,
|
18
|
-
:sender => link_to(truncate_name(activity.sender.name),
|
19
|
-
polymorphic_url(activity.sender.subject)),
|
20
|
-
:whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
|
21
|
-
:receiver => truncate_name(activity.receiver.name)),
|
22
|
-
:title => link_to(activity.direct_object.text.truncate(30, :separator => ' '),
|
23
|
-
polymorphic_url(activity.direct_object))) %>
|
24
|
-
<% elsif activity.direct_object.respond_to? :title %>
|
25
|
-
<%= raw t('notification.post.'+ activity.receiver.subject.class.to_s.underscore,
|
26
|
-
:sender => link_to(truncate_name(activity.sender.name),
|
27
|
-
polymorphic_url(activity.sender.subject)),
|
28
|
-
:whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
|
29
|
-
:receiver => truncate_name(activity.receiver.name)),
|
30
|
-
:title => link_to(activity.direct_object.title.truncate(30, :separator => ' '),
|
31
|
-
polymorphic_url(activity.direct_object))) %>
|
32
|
-
<% else %>
|
33
|
-
<%= raw t('notification.default') %>
|
34
|
-
<% end %>
|
2
|
+
<%= raw t('notification.post.'+ activity.receiver.subject.class.to_s.underscore,
|
3
|
+
:sender => link_to(truncate_name(activity.sender.name),
|
4
|
+
polymorphic_url(activity.sender.subject)),
|
5
|
+
:whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
|
6
|
+
:receiver => truncate_name(activity.receiver.name)),
|
7
|
+
:title => link_to(title_of(activity.direct_object),
|
8
|
+
polymorphic_url(activity.direct_object))) %>
|
35
9
|
</div>
|
36
10
|
<div class="briefing">
|
37
|
-
|
38
|
-
"<%= link_to(sanitize(activity.direct_object.text.truncate(100, :separator =>' ')),
|
39
|
-
polymorphic_url(activity.direct_object))%>"
|
40
|
-
<% elsif activity.direct_object.respond_to? :description and not activity.direct_object.description.blank? %>
|
41
|
-
"<%= link_to(sanitize(activity.direct_object.description.truncate(100, :separator =>' ')),
|
42
|
-
polymorphic_url(activity.direct_object))%>"
|
43
|
-
<% else%>
|
44
|
-
<%= link_to(t('notification.watch_it'),
|
45
|
-
polymorphic_url( activity.direct_object))%>
|
46
|
-
<%end%>
|
11
|
+
"<%= link_to(description_of(activity.direct_object), polymorphic_url(activity.direct_object))%>"
|
47
12
|
<% if SocialStream.activity_forms.include? :document and activity.direct_object.is_a? Document %>
|
48
13
|
|
49
14
|
<% end%>
|
@@ -1,41 +1,12 @@
|
|
1
1
|
|
2
|
-
<% if activity.direct_object.is_a? Comment %>
|
3
2
|
<%= raw t('notification.post.'+ activity.receiver.subject.class.to_s.underscore,
|
4
3
|
:sender => truncate_name(activity.sender.name),
|
5
4
|
:whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
|
6
5
|
:receiver => truncate_name(activity.receiver.name)),
|
7
|
-
:title =>
|
8
|
-
activity.direct_object.parent_post.text.truncate(30, :separator => ' ')
|
9
|
-
elsif activity.direct_object.parent_post.respond_to? :title
|
10
|
-
activity.direct_object.parent_post.title.truncate(30, :separator => ' ')
|
11
|
-
else t('notification.default')
|
12
|
-
end) %>
|
13
|
-
<% elsif activity.direct_object.is_a? Post %>
|
14
|
-
<%= raw t('notification.post.'+ activity.receiver.subject.class.to_s.underscore,
|
15
|
-
:sender => truncate_name(activity.sender.name),
|
16
|
-
:whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
|
17
|
-
:receiver => truncate_name(activity.receiver.name)),
|
18
|
-
:title => activity.direct_object.text.truncate(30, :separator => ' ')) %>
|
19
|
-
<% elsif activity.direct_object.respond_to? :title %>
|
20
|
-
<%= raw t('notification.post.'+ activity.receiver.subject.class.to_s.underscore,
|
21
|
-
:sender => truncate_name(activity.sender.name),
|
22
|
-
:whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
|
23
|
-
:receiver => truncate_name(activity.receiver.name)),
|
24
|
-
:title => activity.direct_object.title.truncate(30, :separator => ' ')) %>
|
25
|
-
<% else %>
|
26
|
-
<%= raw t('notification.default') %>
|
27
|
-
<% end %>
|
6
|
+
:title => title_of(activity.direct_object)) %>
|
28
7
|
|
29
|
-
|
30
|
-
<% if activity.direct_object.respond_to? :text %>
|
31
|
-
"<%= sanitize(activity.direct_object.text.truncate(100, :separator =>' '))%>"
|
32
|
-
--><%= t('notification.all_text', :url => polymorphic_url(activity.direct_object))%>
|
33
|
-
<% elsif activity.direct_object.respond_to? :description and not activity.direct_object.description.blank? %>
|
34
|
-
"<%= sanitize(activity.direct_object.description.truncate(100, :separator =>' '))%>"
|
8
|
+
"<%= description_of(activity.direct_object) %>"
|
35
9
|
--><%= t('notification.all_text', :url => polymorphic_url(activity.direct_object))%>
|
36
|
-
<% else%>
|
37
|
-
<%= t('notification.watch', :url => polymorphic_url(activity.direct_object))%>
|
38
|
-
<% end%>
|
39
10
|
|
40
11
|
<%= raw t('notification.look',
|
41
12
|
:sender => truncate_name(activity.sender.name))%>: <%=polymorphic_url(activity.sender.subject)%>
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
|
16
16
|
# Do not forget to require the file at lib/social_stream/base/dependencies !
|
17
17
|
#
|
18
18
|
# Rails
|
19
|
-
s.add_runtime_dependency('rails', '
|
19
|
+
s.add_runtime_dependency('rails', '~> 3.1.0')
|
20
20
|
# Activity and Relation hierarchies
|
21
21
|
s.add_runtime_dependency('ancestry', '~> 1.2.3')
|
22
22
|
# SQL foreign keys
|
@@ -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.13.
|
15
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.13.2')
|
16
16
|
s.add_runtime_dependency('paperclip-ffmpeg', '~> 0.7.0')
|
17
17
|
# Waiting for version > 2.4.5, which fixes:
|
18
18
|
# https://github.com/thoughtbot/paperclip/issues/293
|
data/social_stream.gemspec
CHANGED
@@ -11,8 +11,8 @@ 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.13.
|
15
|
-
s.add_runtime_dependency('social_stream-documents', '~> 0.8.
|
14
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.13.2')
|
15
|
+
s.add_runtime_dependency('social_stream-documents', '~> 0.8.2')
|
16
16
|
s.add_runtime_dependency('social_stream-events', '~> 0.5.0')
|
17
17
|
s.add_runtime_dependency('social_stream-linkser', '~> 0.3.0')
|
18
18
|
s.add_runtime_dependency('social_stream-presence', '~> 0.4.0')
|
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.18.
|
4
|
+
version: 0.18.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,33 +10,33 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-01-
|
13
|
+
date: 2012-01-24 00:00:00.000000000Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: social_stream-base
|
17
|
-
requirement: &
|
17
|
+
requirement: &78562910 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.13.
|
22
|
+
version: 0.13.2
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *78562910
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: social_stream-documents
|
28
|
-
requirement: &
|
28
|
+
requirement: &78562660 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.8.
|
33
|
+
version: 0.8.2
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *78562660
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: social_stream-events
|
39
|
-
requirement: &
|
39
|
+
requirement: &78562430 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 0.5.0
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *78562430
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: social_stream-linkser
|
50
|
-
requirement: &
|
50
|
+
requirement: &78562200 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: 0.3.0
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *78562200
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: social_stream-presence
|
61
|
-
requirement: &
|
61
|
+
requirement: &78561970 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: 0.4.0
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *78561970
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: capybara
|
72
|
-
requirement: &
|
72
|
+
requirement: &78561740 !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: *
|
80
|
+
version_requirements: *78561740
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: sqlite3
|
83
|
-
requirement: &
|
83
|
+
requirement: &78561540 !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: *
|
91
|
+
version_requirements: *78561540
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: rspec-rails
|
94
|
-
requirement: &
|
94
|
+
requirement: &78561250 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ~>
|
@@ -99,10 +99,10 @@ dependencies:
|
|
99
99
|
version: 2.5.0
|
100
100
|
type: :development
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *78561250
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: factory_girl
|
105
|
-
requirement: &
|
105
|
+
requirement: &78561000 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - ~>
|
@@ -110,10 +110,10 @@ dependencies:
|
|
110
110
|
version: 1.3.2
|
111
111
|
type: :development
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *78561000
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: forgery
|
116
|
-
requirement: &
|
116
|
+
requirement: &78560770 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ~>
|
@@ -121,10 +121,10 @@ dependencies:
|
|
121
121
|
version: 0.4.2
|
122
122
|
type: :development
|
123
123
|
prerelease: false
|
124
|
-
version_requirements: *
|
124
|
+
version_requirements: *78560770
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: ci_reporter
|
127
|
-
requirement: &
|
127
|
+
requirement: &78560540 !ruby/object:Gem::Requirement
|
128
128
|
none: false
|
129
129
|
requirements:
|
130
130
|
- - ~>
|
@@ -132,7 +132,7 @@ dependencies:
|
|
132
132
|
version: 1.6.4
|
133
133
|
type: :development
|
134
134
|
prerelease: false
|
135
|
-
version_requirements: *
|
135
|
+
version_requirements: *78560540
|
136
136
|
description: Social Stream is a Ruby on Rails engine for building social network websites.
|
137
137
|
It supports contacts, posts, file uploads, private messages and many more.
|
138
138
|
email:
|