From e1fb2197382cc37187fe919a5a080386f774fd09 Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 12 Sep 2022 02:16:35 -0500 Subject: [PATCH] aliases: retire artist aliases after 2 years. Automatically retire artist aliases after they're more than 2 years old. Before the rule was that artist aliases were only retired if they didn't have any new posts in the last 2 years. --- app/logical/tag_relationship_retirement_service.rb | 10 +++++++--- test/jobs/retire_tag_relationships_job_test.rb | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/logical/tag_relationship_retirement_service.rb b/app/logical/tag_relationship_retirement_service.rb index 7b4d65133..5ccaf2424 100644 --- a/app/logical/tag_relationship_retirement_service.rb +++ b/app/logical/tag_relationship_retirement_service.rb @@ -40,15 +40,15 @@ module TagRelationshipRetirementService end def inactive_relationships - (inactive_aliases + inactive_implications).uniq + (inactive_gentag_aliases + inactive_artist_aliases + inactive_implications).uniq end def inactive_implications TagImplication.active.empty.where.not(consequent_name: "banned_artist") end - def inactive_aliases - aliases = TagAlias.general.or(TagAlias.artist).active.where("tag_aliases.created_at < ?", THRESHOLD.ago) + def inactive_gentag_aliases + aliases = TagAlias.general.active.where("tag_aliases.created_at < ?", THRESHOLD.ago) aliases = aliases.select do |tag_alias| !tag_alias.consequent_tag.posts.exists?(["created_at > ?", THRESHOLD.ago]) end @@ -56,4 +56,8 @@ module TagRelationshipRetirementService aliases += TagAlias.active.empty aliases end + + def inactive_artist_aliases + TagAlias.active.artist.where("tag_aliases.created_at < ?", THRESHOLD.ago) + end end diff --git a/test/jobs/retire_tag_relationships_job_test.rb b/test/jobs/retire_tag_relationships_job_test.rb index 78be3a4a8..d4a566df1 100644 --- a/test/jobs/retire_tag_relationships_job_test.rb +++ b/test/jobs/retire_tag_relationships_job_test.rb @@ -51,7 +51,7 @@ class RetireTagRelationshipsJobTest < ActiveJob::TestCase RetireTagRelationshipsJob.perform_now - assert_equal(false, ta0.reload.is_retired?) + assert_equal(true, ta0.reload.is_retired?) assert_equal(false, ta1.reload.is_retired?) assert_equal(false, ta2.reload.is_retired?) assert_equal(false, ta3.reload.is_retired?)