diff options
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/account.rb | 14 | ||||
-rw-r--r-- | app/models/user.rb | 1 |
2 files changed, 6 insertions, 9 deletions
diff --git a/app/models/account.rb b/app/models/account.rb index 8ceda7f97..259a87451 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -108,10 +108,6 @@ class Account < ApplicationRecord follow_requests.where(target_account: other_account).exists? end - def followers_domains - followers.reorder('').select('DISTINCT accounts.domain').map(&:domain) - end - def local? domain.nil? end @@ -231,18 +227,20 @@ class Account < ApplicationRecord WITH first_degree AS ( SELECT target_account_id FROM follows - WHERE account_id = ? + WHERE account_id = :account_id ) SELECT accounts.* FROM follows INNER JOIN accounts ON follows.target_account_id = accounts.id - WHERE account_id IN (SELECT * FROM first_degree) AND target_account_id NOT IN (SELECT * FROM first_degree) AND target_account_id <> ? + WHERE account_id IN (SELECT * FROM first_degree) AND target_account_id NOT IN (SELECT * FROM first_degree) AND target_account_id <> :account_id GROUP BY target_account_id, accounts.id ORDER BY count(account_id) DESC - LIMIT ? + LIMIT :limit SQL - Account.find_by_sql([sql, account.id, account.id, limit]) + find_by_sql( + [sql, { account_id: account.id, limit: limit }] + ) end def search_for(terms, limit = 10) diff --git a/app/models/user.rb b/app/models/user.rb index a59d843d4..110b52aa9 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -15,7 +15,6 @@ class User < ApplicationRecord validates :locale, inclusion: I18n.available_locales.map(&:to_s), unless: 'locale.nil?' validates :email, email: true - scope :prolific, -> { joins('inner join statuses on statuses.account_id = users.account_id').select('users.*, count(statuses.id) as statuses_count').group('users.id').order('statuses_count desc') } scope :recent, -> { order('id desc') } scope :admins, -> { where(admin: true) } scope :confirmed, -> { where.not(confirmed_at: nil) } |