Use hash arguments to select when possible (Rails 7.2) (#32917)
				
					
				
			This commit is contained in:
		@@ -12,7 +12,7 @@ class Api::V1::Accounts::FamiliarFollowersController < Api::BaseController
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def set_accounts
 | 
			
		||||
    @accounts = Account.without_suspended.where(id: account_ids).select('id, hide_collections')
 | 
			
		||||
    @accounts = Account.without_suspended.where(id: account_ids).select(:id, :hide_collections)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def familiar_followers
 | 
			
		||||
 
 | 
			
		||||
@@ -162,7 +162,7 @@ class FeedManager
 | 
			
		||||
    timeline_key        = key(:home, into_account.id)
 | 
			
		||||
    timeline_status_ids = redis.zrange(timeline_key, 0, -1)
 | 
			
		||||
 | 
			
		||||
    from_account.statuses.select('id, reblog_of_id').where(id: timeline_status_ids).reorder(nil).find_each do |status|
 | 
			
		||||
    from_account.statuses.select(:id, :reblog_of_id).where(id: timeline_status_ids).reorder(nil).find_each do |status|
 | 
			
		||||
      remove_from_feed(:home, into_account.id, status, aggregate_reblogs: into_account.user&.aggregates_reblogs?)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
@@ -175,7 +175,7 @@ class FeedManager
 | 
			
		||||
    timeline_key        = key(:list, list.id)
 | 
			
		||||
    timeline_status_ids = redis.zrange(timeline_key, 0, -1)
 | 
			
		||||
 | 
			
		||||
    from_account.statuses.select('id, reblog_of_id').where(id: timeline_status_ids).reorder(nil).find_each do |status|
 | 
			
		||||
    from_account.statuses.select(:id, :reblog_of_id).where(id: timeline_status_ids).reorder(nil).find_each do |status|
 | 
			
		||||
      remove_from_feed(:list, list.id, status, aggregate_reblogs: list.account.user&.aggregates_reblogs?)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
@@ -196,7 +196,7 @@ class FeedManager
 | 
			
		||||
                    .where.not(account: into_account.following)
 | 
			
		||||
                    .tagged_with_none(TagFollow.where(account: into_account).pluck(:tag_id))
 | 
			
		||||
 | 
			
		||||
    scope.select('id, reblog_of_id').reorder(nil).find_each do |status|
 | 
			
		||||
    scope.select(:id, :reblog_of_id).reorder(nil).find_each do |status|
 | 
			
		||||
      remove_from_feed(:home, into_account.id, status, aggregate_reblogs: into_account.user&.aggregates_reblogs?)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 
 | 
			
		||||
@@ -71,7 +71,7 @@ class Importer::StatusesIndexImporter < Importer::BaseImporter
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def local_votes_scope
 | 
			
		||||
    Poll.joins(:votes).where(votes: { account: Account.local }).select('polls.id, polls.status_id')
 | 
			
		||||
    Poll.joins(:votes).where(votes: { account: Account.local }).select(polls: [:id, :status_id])
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def local_statuses_scope
 | 
			
		||||
 
 | 
			
		||||
@@ -356,23 +356,23 @@ class Status < ApplicationRecord
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def favourites_map(status_ids, account_id)
 | 
			
		||||
      Favourite.select('status_id').where(status_id: status_ids).where(account_id: account_id).each_with_object({}) { |f, h| h[f.status_id] = true }
 | 
			
		||||
      Favourite.select(:status_id).where(status_id: status_ids).where(account_id: account_id).each_with_object({}) { |f, h| h[f.status_id] = true }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def bookmarks_map(status_ids, account_id)
 | 
			
		||||
      Bookmark.select('status_id').where(status_id: status_ids).where(account_id: account_id).map { |f| [f.status_id, true] }.to_h
 | 
			
		||||
      Bookmark.select(:status_id).where(status_id: status_ids).where(account_id: account_id).map { |f| [f.status_id, true] }.to_h
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def reblogs_map(status_ids, account_id)
 | 
			
		||||
      unscoped.select('reblog_of_id').where(reblog_of_id: status_ids).where(account_id: account_id).each_with_object({}) { |s, h| h[s.reblog_of_id] = true }
 | 
			
		||||
      unscoped.select(:reblog_of_id).where(reblog_of_id: status_ids).where(account_id: account_id).each_with_object({}) { |s, h| h[s.reblog_of_id] = true }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def mutes_map(conversation_ids, account_id)
 | 
			
		||||
      ConversationMute.select('conversation_id').where(conversation_id: conversation_ids).where(account_id: account_id).each_with_object({}) { |m, h| h[m.conversation_id] = true }
 | 
			
		||||
      ConversationMute.select(:conversation_id).where(conversation_id: conversation_ids).where(account_id: account_id).each_with_object({}) { |m, h| h[m.conversation_id] = true }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def pins_map(status_ids, account_id)
 | 
			
		||||
      StatusPin.select('status_id').where(status_id: status_ids).where(account_id: account_id).each_with_object({}) { |p, h| h[p.status_id] = true }
 | 
			
		||||
      StatusPin.select(:status_id).where(status_id: status_ids).where(account_id: account_id).each_with_object({}) { |p, h| h[p.status_id] = true }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def from_text(text)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user