Use composable query in Status.not_domain_blocked_by_account scope (#29766)
				
					
				
			This commit is contained in:
		
							parent
							
								
									c5692d2f2f
								
							
						
					
					
						commit
						1d0a43f6a3
					
				@ -110,7 +110,7 @@ class Status < ApplicationRecord
 | 
				
			|||||||
  scope :without_reblogs, -> { where(statuses: { reblog_of_id: nil }) }
 | 
					  scope :without_reblogs, -> { where(statuses: { reblog_of_id: nil }) }
 | 
				
			||||||
  scope :tagged_with, ->(tag_ids) { joins(:statuses_tags).where(statuses_tags: { tag_id: tag_ids }) }
 | 
					  scope :tagged_with, ->(tag_ids) { joins(:statuses_tags).where(statuses_tags: { tag_id: tag_ids }) }
 | 
				
			||||||
  scope :not_excluded_by_account, ->(account) { where.not(account_id: account.excluded_from_timeline_account_ids) }
 | 
					  scope :not_excluded_by_account, ->(account) { where.not(account_id: account.excluded_from_timeline_account_ids) }
 | 
				
			||||||
  scope :not_domain_blocked_by_account, ->(account) { account.excluded_from_timeline_domains.blank? ? left_outer_joins(:account) : left_outer_joins(:account).where('accounts.domain IS NULL OR accounts.domain NOT IN (?)', account.excluded_from_timeline_domains) }
 | 
					  scope :not_domain_blocked_by_account, ->(account) { account.excluded_from_timeline_domains.blank? ? left_outer_joins(:account) : left_outer_joins(:account).merge(Account.not_domain_blocked_by_account(account)) }
 | 
				
			||||||
  scope :tagged_with_all, lambda { |tag_ids|
 | 
					  scope :tagged_with_all, lambda { |tag_ids|
 | 
				
			||||||
    Array(tag_ids).map(&:to_i).reduce(self) do |result, id|
 | 
					    Array(tag_ids).map(&:to_i).reduce(self) do |result, id|
 | 
				
			||||||
      result.where(<<~SQL.squish, tag_id: id)
 | 
					      result.where(<<~SQL.squish, tag_id: id)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user