| 
									
										
										
										
											2016-11-15 16:56:29 +01:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-25 02:13:30 +01:00
										 |  |  | module Streamable | 
					
						
							|  |  |  |   extend ActiveSupport::Concern | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   included do | 
					
						
							|  |  |  |     has_one :stream_entry, as: :activity | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-19 18:41:45 +09:00
										 |  |  |     after_create do | 
					
						
							|  |  |  |       account.stream_entries.create!(activity: self, hidden: hidden?) if needs_stream_entry? | 
					
						
							| 
									
										
										
										
											2016-03-25 02:13:30 +01:00
										 |  |  |     end | 
					
						
							| 
									
										
										
										
											2017-05-19 18:41:45 +09:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-03-25 02:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-19 18:41:45 +09:00
										 |  |  |   def title | 
					
						
							|  |  |  |     super | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-03-25 02:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-19 18:41:45 +09:00
										 |  |  |   def content | 
					
						
							|  |  |  |     title | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-03-25 02:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-19 18:41:45 +09:00
										 |  |  |   def target | 
					
						
							|  |  |  |     super | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-03-25 02:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-19 18:41:45 +09:00
										 |  |  |   def object_type | 
					
						
							|  |  |  |     :activity | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-03-25 02:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-19 18:41:45 +09:00
										 |  |  |   def thread | 
					
						
							|  |  |  |     super | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-12-21 20:00:18 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-19 18:41:45 +09:00
										 |  |  |   def hidden? | 
					
						
							|  |  |  |     false | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2017-02-11 19:42:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-19 18:41:45 +09:00
										 |  |  |   private | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def needs_stream_entry? | 
					
						
							|  |  |  |     account.local? | 
					
						
							| 
									
										
										
										
											2016-03-25 02:13:30 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | end |