| 
									
										
										
										
											2017-02-05 19:51:56 -06:00
										 |  |  | # frozen_string_literal: true | 
					
						
							| 
									
										
										
										
											2017-05-02 09:14:47 +09:00
										 |  |  | # == Schema Information | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Table name: mutes | 
					
						
							|  |  |  | # | 
					
						
							| 
									
										
										
										
											2018-04-23 18:29:17 +09:00
										 |  |  | #  id                 :bigint(8)        not null, primary key | 
					
						
							| 
									
										
										
										
											2017-11-14 20:56:41 -06:00
										 |  |  | #  created_at         :datetime         not null | 
					
						
							|  |  |  | #  updated_at         :datetime         not null | 
					
						
							| 
									
										
										
										
											2018-04-23 18:29:17 +09:00
										 |  |  | #  account_id         :bigint(8)        not null | 
					
						
							|  |  |  | #  target_account_id  :bigint(8)        not null | 
					
						
							| 
									
										
										
										
											2017-11-14 20:56:41 -06:00
										 |  |  | #  hide_notifications :boolean          default(TRUE), not null | 
					
						
							| 
									
										
										
										
											2017-05-02 09:14:47 +09:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2017-02-05 19:51:56 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | class Mute < ApplicationRecord | 
					
						
							|  |  |  |   include Paginable | 
					
						
							| 
									
										
										
										
											2018-02-18 03:14:46 +01:00
										 |  |  |   include RelationshipCacheable | 
					
						
							| 
									
										
										
										
											2017-02-05 19:51:56 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-20 04:56:47 +09:00
										 |  |  |   belongs_to :account | 
					
						
							|  |  |  |   belongs_to :target_account, class_name: 'Account' | 
					
						
							| 
									
										
										
										
											2017-02-05 19:51:56 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  |   validates :account_id, uniqueness: { scope: :target_account_id } | 
					
						
							| 
									
										
										
										
											2017-04-15 23:59:39 +09:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-18 03:14:46 +01:00
										 |  |  |   after_commit :remove_blocking_cache | 
					
						
							| 
									
										
										
										
											2017-04-15 23:59:39 +09:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-18 01:14:02 +02:00
										 |  |  |   private | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-15 23:59:39 +09:00
										 |  |  |   def remove_blocking_cache | 
					
						
							| 
									
										
										
										
											2017-04-18 01:14:02 +02:00
										 |  |  |     Rails.cache.delete("exclude_account_ids_for:#{account_id}") | 
					
						
							| 
									
										
										
										
											2017-04-15 23:59:39 +09:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2017-02-05 19:51:56 -06:00
										 |  |  | end |