Some minor change and spec for Account (#3813)
* Introduce domains method to Account relation Account had followers_domains method, which was excessively specific. Let relation of Account have domains method instead. * Move follow_mapping in Account to AccountInteractions * Introduce shared examples for AccountAvatar inclusion * Cover Account more
This commit is contained in:
parent
98fab24bea
commit
e27f792c24
5 changed files with 380 additions and 76 deletions
|
@ -124,10 +124,6 @@ class Account < ApplicationRecord
|
|||
subscription_expires_at.present?
|
||||
end
|
||||
|
||||
def followers_domains
|
||||
followers.reorder(nil).pluck('distinct accounts.domain')
|
||||
end
|
||||
|
||||
def keypair
|
||||
OpenSSL::PKey::RSA.new(private_key || public_key)
|
||||
end
|
||||
|
@ -163,6 +159,10 @@ class Account < ApplicationRecord
|
|||
end
|
||||
|
||||
class << self
|
||||
def domains
|
||||
reorder(nil).pluck('distinct accounts.domain')
|
||||
end
|
||||
|
||||
def triadic_closures(account, limit: 5, offset: 0)
|
||||
sql = <<-SQL.squish
|
||||
WITH first_degree AS (
|
||||
|
@ -236,10 +236,6 @@ class Account < ApplicationRecord
|
|||
|
||||
[textsearch, query]
|
||||
end
|
||||
|
||||
def follow_mapping(query, field)
|
||||
query.pluck(field).each_with_object({}) { |id, mapping| mapping[id] = true }
|
||||
end
|
||||
end
|
||||
|
||||
before_create :generate_keys
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue