You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.3 KiB
41 lines
1.3 KiB
# frozen_string_literal: true |
|
|
|
# |
|
# == Schema Information |
|
# |
|
# Table name: account_relationship_severance_events |
|
# |
|
# id :bigint(8) not null, primary key |
|
# account_id :bigint(8) not null |
|
# relationship_severance_event_id :bigint(8) not null |
|
# created_at :datetime not null |
|
# updated_at :datetime not null |
|
# followers_count :integer default(0), not null |
|
# following_count :integer default(0), not null |
|
# |
|
class AccountRelationshipSeveranceEvent < ApplicationRecord |
|
self.ignored_columns += %w( |
|
relationships_count |
|
) |
|
|
|
belongs_to :account |
|
belongs_to :relationship_severance_event |
|
|
|
has_many :severed_relationships, through: :relationship_severance_event |
|
|
|
delegate :type, |
|
:target_name, |
|
:purged, |
|
:purged?, |
|
to: :relationship_severance_event, |
|
prefix: false |
|
|
|
before_create :set_relationships_count! |
|
|
|
private |
|
|
|
def set_relationships_count! |
|
self.followers_count = severed_relationships.about_local_account(account).passive.count |
|
self.following_count = severed_relationships.about_local_account(account).active.count |
|
end |
|
end
|
|
|