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.
@@ -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
@@ -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
- if direct_object.is_a? Comment
347
- I18n.t('notification.post.'+ receiver.subject.class.to_s.underscore,
348
- :sender => sender_name,
349
- :whose => I18n.t('notification.whose.'+ receiver.subject.class.to_s.underscore,
350
- :receiver => receiver_name),
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
- <% if activity.direct_object.is_a? Comment %>
3
- <%= raw t('notification.post.'+ activity.receiver.subject.class.to_s.underscore,
4
- :sender => link_to(truncate_name(activity.sender.name),
5
- polymorphic_url(activity.sender.subject)),
6
- :whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
7
- :receiver => truncate_name(activity.receiver.name)),
8
- :title => if activity.direct_object.parent_post.is_a? Post
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
- <% if activity.direct_object.respond_to? :text %>
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 => if activity.direct_object.parent_post.is_a? Post
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)%>
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Base
3
- VERSION = "0.13.1".freeze
3
+ VERSION = "0.13.2".freeze
4
4
  end
5
5
  end
@@ -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', '>= 3.1.0')
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
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Documents
3
- VERSION = "0.8.1".freeze
3
+ VERSION = "0.8.2".freeze
4
4
  end
5
5
  end
@@ -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.1')
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
@@ -1,3 +1,3 @@
1
1
  module SocialStream
2
- VERSION = "0.18.1".freeze
2
+ VERSION = "0.18.2".freeze
3
3
  end
@@ -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.1')
15
- s.add_runtime_dependency('social_stream-documents', '~> 0.8.1')
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.1
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-23 00:00:00.000000000Z
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: &84213310 !ruby/object:Gem::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.1
22
+ version: 0.13.2
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *84213310
25
+ version_requirements: *78562910
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: social_stream-documents
28
- requirement: &84212550 !ruby/object:Gem::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.1
33
+ version: 0.8.2
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *84212550
36
+ version_requirements: *78562660
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: social_stream-events
39
- requirement: &84210660 !ruby/object:Gem::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: *84210660
47
+ version_requirements: *78562430
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: social_stream-linkser
50
- requirement: &84210210 !ruby/object:Gem::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: *84210210
58
+ version_requirements: *78562200
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: social_stream-presence
61
- requirement: &84209880 !ruby/object:Gem::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: *84209880
69
+ version_requirements: *78561970
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: capybara
72
- requirement: &84209470 !ruby/object:Gem::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: *84209470
80
+ version_requirements: *78561740
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: sqlite3
83
- requirement: &84209030 !ruby/object:Gem::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: *84209030
91
+ version_requirements: *78561540
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: rspec-rails
94
- requirement: &84208350 !ruby/object:Gem::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: *84208350
102
+ version_requirements: *78561250
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: factory_girl
105
- requirement: &84207660 !ruby/object:Gem::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: *84207660
113
+ version_requirements: *78561000
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: forgery
116
- requirement: &84206820 !ruby/object:Gem::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: *84206820
124
+ version_requirements: *78560770
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: ci_reporter
127
- requirement: &84205720 !ruby/object:Gem::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: *84205720
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: