From 801672e3cbf8a42e823fafa5792c4b79740f7be2 Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 28 Nov 2025 17:19:23 +0100 Subject: [PATCH] Add method to quickly test for AnnualReport account eligibility (#37045) --- app/lib/annual_report.rb | 6 ++++++ app/lib/annual_report/source.rb | 4 ++++ app/lib/annual_report/top_hashtags.rb | 4 ++++ app/lib/annual_report/top_statuses.rb | 4 ++++ 4 files changed, 18 insertions(+) diff --git a/app/lib/annual_report.rb b/app/lib/annual_report.rb index 8fab2111ed6..035dc4cde75 100644 --- a/app/lib/annual_report.rb +++ b/app/lib/annual_report.rb @@ -23,6 +23,12 @@ class AnnualReport @year = year end + def eligible? + with_read_replica do + SOURCES.all? { |klass| klass.new(@account, @year).eligible? } + end + end + def generate return if GeneratedAnnualReport.exists?(account: @account, year: @year) diff --git a/app/lib/annual_report/source.rb b/app/lib/annual_report/source.rb index 7f486553694..2898c6a5a26 100644 --- a/app/lib/annual_report/source.rb +++ b/app/lib/annual_report/source.rb @@ -12,6 +12,10 @@ class AnnualReport::Source raise NotImplementedError end + def eligible? + true + end + protected def report_statuses diff --git a/app/lib/annual_report/top_hashtags.rb b/app/lib/annual_report/top_hashtags.rb index a775c29bac3..f3a2160341d 100644 --- a/app/lib/annual_report/top_hashtags.rb +++ b/app/lib/annual_report/top_hashtags.rb @@ -15,6 +15,10 @@ class AnnualReport::TopHashtags < AnnualReport::Source } end + def eligible? + report_statuses.joins(:tags).exists? + end + private def top_hashtags diff --git a/app/lib/annual_report/top_statuses.rb b/app/lib/annual_report/top_statuses.rb index f32bd09a15a..4dcc31892bb 100644 --- a/app/lib/annual_report/top_statuses.rb +++ b/app/lib/annual_report/top_statuses.rb @@ -11,6 +11,10 @@ class AnnualReport::TopStatuses < AnnualReport::Source } end + def eligible? + report_statuses.public_visibility.exists? + end + private def status_identifier(status)