| 
									
										
										
										
											2018-08-14 17:19:32 +00:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | # == Schema Information | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Table name: status_stats | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | #  id               :bigint(8)        not null, primary key | 
					
						
							|  |  |  | #  status_id        :bigint(8)        not null | 
					
						
							|  |  |  | #  replies_count    :bigint(8)        default(0), not null | 
					
						
							|  |  |  | #  reblogs_count    :bigint(8)        default(0), not null | 
					
						
							|  |  |  | #  favourites_count :bigint(8)        default(0), not null | 
					
						
							|  |  |  | #  created_at       :datetime         not null | 
					
						
							|  |  |  | #  updated_at       :datetime         not null | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class StatusStat < ApplicationRecord | 
					
						
							|  |  |  |   belongs_to :status, inverse_of: :status_stat | 
					
						
							| 
									
										
										
										
											2018-10-28 05:42:34 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   after_commit :reset_parent_cache | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-26 18:32:48 +00:00
										 |  |  |   def replies_count | 
					
						
							|  |  |  |     [attributes['replies_count'], 0].max | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def reblogs_count | 
					
						
							|  |  |  |     [attributes['reblogs_count'], 0].max | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def favourites_count | 
					
						
							|  |  |  |     [attributes['favourites_count'], 0].max | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-28 05:42:34 +00:00
										 |  |  |   private | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def reset_parent_cache | 
					
						
							|  |  |  |     Rails.cache.delete("statuses/#{status_id}") | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2018-08-14 17:19:32 +00:00
										 |  |  | end |