From 375ea60b9f6bb3d5b39610d6dcda1ab0953ca81d Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Sat, 26 Jul 2025 11:17:45 -0400 Subject: [PATCH] Rely on built-in query methods for timestamp presence checks --- app/helpers/admin/dashboard_helper.rb | 2 +- app/models/account.rb | 2 +- app/models/account_warning.rb | 2 +- app/models/announcement.rb | 2 +- app/models/appeal.rb | 4 ++-- app/models/concerns/account/sensitizes.rb | 2 +- app/models/concerns/account/silences.rb | 2 +- app/models/concerns/account/suspensions.rb | 2 +- app/models/concerns/reviewable.rb | 4 ++-- app/models/concerns/status/snapshot_concern.rb | 2 +- app/models/concerns/user/activity.rb | 2 +- app/models/concerns/user/confirmation.rb | 2 +- app/models/featured_tag.rb | 2 +- app/models/generated_annual_report.rb | 2 +- app/models/report.rb | 2 +- app/models/scheduled_status.rb | 2 +- app/models/terms_of_service.rb | 4 ++-- app/services/update_status_service.rb | 2 +- app/workers/poll_expiration_notify_worker.rb | 2 +- lib/mastodon/cli/accounts.rb | 2 +- 20 files changed, 23 insertions(+), 23 deletions(-) diff --git a/app/helpers/admin/dashboard_helper.rb b/app/helpers/admin/dashboard_helper.rb index f87fdad7083..a9e6830ce1f 100644 --- a/app/helpers/admin/dashboard_helper.rb +++ b/app/helpers/admin/dashboard_helper.rb @@ -30,7 +30,7 @@ module Admin::DashboardHelper [account.user_current_sign_in_at, false] elsif account.user_pending? [account.user_created_at, true] - elsif account.suspended_at.present? && account.local? && account.user.nil? + elsif account.suspended_at? && account.local? && account.user.nil? [account.suspended_at, true] elsif account.last_status_at.present? [account.last_status_at, true] diff --git a/app/models/account.rb b/app/models/account.rb index 5fa1f0cebf6..34d14a23f87 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -245,7 +245,7 @@ class Account < ApplicationRecord end def schedule_refresh_if_stale! - return unless last_webfingered_at.present? && last_webfingered_at <= BACKGROUND_REFRESH_INTERVAL.ago + return unless last_webfingered_at? && last_webfingered_at <= BACKGROUND_REFRESH_INTERVAL.ago AccountRefreshWorker.perform_in(rand(REFRESH_DEADLINE), id) end diff --git a/app/models/account_warning.rb b/app/models/account_warning.rb index 9058f73fb8f..619d935003d 100644 --- a/app/models/account_warning.rb +++ b/app/models/account_warning.rb @@ -47,7 +47,7 @@ class AccountWarning < ApplicationRecord end def overruled? - overruled_at.present? + overruled_at? end def appeal_eligible? diff --git a/app/models/announcement.rb b/app/models/announcement.rb index aab55055a96..c0ce3ea704f 100644 --- a/app/models/announcement.rb +++ b/app/models/announcement.rb @@ -56,7 +56,7 @@ class Announcement < ApplicationRecord end def notification_sent? - notification_sent_at.present? + notification_sent_at? end def mentions diff --git a/app/models/appeal.rb b/app/models/appeal.rb index 6a75fec661b..d3843e68dfc 100644 --- a/app/models/appeal.rb +++ b/app/models/appeal.rb @@ -40,11 +40,11 @@ class Appeal < ApplicationRecord end def approved? - approved_at.present? + approved_at? end def rejected? - rejected_at.present? + rejected_at? end def approve!(current_account) diff --git a/app/models/concerns/account/sensitizes.rb b/app/models/concerns/account/sensitizes.rb index 3bb74324a8d..cc040c9b37d 100644 --- a/app/models/concerns/account/sensitizes.rb +++ b/app/models/concerns/account/sensitizes.rb @@ -8,7 +8,7 @@ module Account::Sensitizes end def sensitized? - sensitized_at.present? + sensitized_at? end def sensitize!(date = Time.now.utc) diff --git a/app/models/concerns/account/silences.rb b/app/models/concerns/account/silences.rb index bd785df311f..184b8d09e79 100644 --- a/app/models/concerns/account/silences.rb +++ b/app/models/concerns/account/silences.rb @@ -9,7 +9,7 @@ module Account::Silences end def silenced? - silenced_at.present? + silenced_at? end def silence!(date = Time.now.utc) diff --git a/app/models/concerns/account/suspensions.rb b/app/models/concerns/account/suspensions.rb index c981fb5a295..ea8ffac6743 100644 --- a/app/models/concerns/account/suspensions.rb +++ b/app/models/concerns/account/suspensions.rb @@ -9,7 +9,7 @@ module Account::Suspensions end def suspended? - suspended_at.present? && !instance_actor? + suspended_at? && !instance_actor? end alias unavailable? suspended? diff --git a/app/models/concerns/reviewable.rb b/app/models/concerns/reviewable.rb index d08b4733427..ed1e33cda6c 100644 --- a/app/models/concerns/reviewable.rb +++ b/app/models/concerns/reviewable.rb @@ -13,11 +13,11 @@ module Reviewable end def reviewed? - reviewed_at.present? + reviewed_at? end def requested_review? - requested_review_at.present? + requested_review_at? end def requires_review_notification? diff --git a/app/models/concerns/status/snapshot_concern.rb b/app/models/concerns/status/snapshot_concern.rb index 269545ce8b9..40dcabc899b 100644 --- a/app/models/concerns/status/snapshot_concern.rb +++ b/app/models/concerns/status/snapshot_concern.rb @@ -8,7 +8,7 @@ module Status::SnapshotConcern end def edited? - edited_at.present? + edited_at? end def build_snapshot(account_id: nil, at_time: nil, rate_limit: true) diff --git a/app/models/concerns/user/activity.rb b/app/models/concerns/user/activity.rb index df2713415b3..a6ecf2950c4 100644 --- a/app/models/concerns/user/activity.rb +++ b/app/models/concerns/user/activity.rb @@ -17,7 +17,7 @@ module User::Activity end def signed_in_recently? - current_sign_in_at.present? && current_sign_in_at >= ACTIVE_DURATION.ago + current_sign_in_at? && current_sign_in_at >= ACTIVE_DURATION.ago end private diff --git a/app/models/concerns/user/confirmation.rb b/app/models/concerns/user/confirmation.rb index 46fdb0210a5..8f7c1719a84 100644 --- a/app/models/concerns/user/confirmation.rb +++ b/app/models/concerns/user/confirmation.rb @@ -13,7 +13,7 @@ module User::Confirmation end def confirmed? - confirmed_at.present? + confirmed_at? end def unconfirmed? diff --git a/app/models/featured_tag.rb b/app/models/featured_tag.rb index 9a91ab3bed7..553885d08b8 100644 --- a/app/models/featured_tag.rb +++ b/app/models/featured_tag.rb @@ -49,7 +49,7 @@ class FeaturedTag < ApplicationRecord def decrement(deleted_status) if statuses_count <= 1 update(statuses_count: 0, last_status_at: nil) - elsif last_status_at.present? && last_status_at > deleted_status.created_at + elsif last_status_at? && last_status_at > deleted_status.created_at update(statuses_count: statuses_count - 1) else # Fetching the latest status creation time can be expensive, so only perform it diff --git a/app/models/generated_annual_report.rb b/app/models/generated_annual_report.rb index aba0712fe40..169bcde6940 100644 --- a/app/models/generated_annual_report.rb +++ b/app/models/generated_annual_report.rb @@ -20,7 +20,7 @@ class GeneratedAnnualReport < ApplicationRecord scope :pending, -> { where(viewed_at: nil) } def viewed? - viewed_at.present? + viewed_at? end def view! diff --git a/app/models/report.rb b/app/models/report.rb index 17c1503436f..0e20dd1270f 100644 --- a/app/models/report.rb +++ b/app/models/report.rb @@ -116,7 +116,7 @@ class Report < ApplicationRecord end def action_taken? - action_taken_at.present? + action_taken_at? end alias action_taken action_taken? diff --git a/app/models/scheduled_status.rb b/app/models/scheduled_status.rb index 1f4f04268d4..f2ca7fb77c7 100644 --- a/app/models/scheduled_status.rb +++ b/app/models/scheduled_status.rb @@ -27,7 +27,7 @@ class ScheduledStatus < ApplicationRecord private def validate_future_date - errors.add(:scheduled_at, I18n.t('scheduled_statuses.too_soon')) if scheduled_at.present? && scheduled_at <= Time.now.utc + MINIMUM_OFFSET + errors.add(:scheduled_at, I18n.t('scheduled_statuses.too_soon')) if scheduled_at? && scheduled_at <= Time.now.utc + MINIMUM_OFFSET end def validate_total_limit diff --git a/app/models/terms_of_service.rb b/app/models/terms_of_service.rb index 41afaf10d9c..a52eabddb98 100644 --- a/app/models/terms_of_service.rb +++ b/app/models/terms_of_service.rb @@ -32,7 +32,7 @@ class TermsOfService < ApplicationRecord end def published? - published_at.present? + published_at? end def effective? @@ -44,7 +44,7 @@ class TermsOfService < ApplicationRecord end def notification_sent? - notification_sent_at.present? + notification_sent_at? end def base_user_scope diff --git a/app/services/update_status_service.rb b/app/services/update_status_service.rb index 4b871211a46..b204509e626 100644 --- a/app/services/update_status_service.rb +++ b/app/services/update_status_service.rb @@ -147,7 +147,7 @@ class UpdateStatusService < BaseService # If the poll had no expiration date set but now has, or now has a sooner # expiration date, schedule a notification - return unless poll.present? && poll.expires_at.present? + return unless poll.present? && poll.expires_at? PollExpirationNotifyWorker.remove_from_scheduled(poll.id) if @previous_expires_at.present? && @previous_expires_at > poll.expires_at PollExpirationNotifyWorker.perform_at(poll.expires_at + 5.minutes, poll.id) diff --git a/app/workers/poll_expiration_notify_worker.rb b/app/workers/poll_expiration_notify_worker.rb index fe7647024e5..5090eb3e4dc 100644 --- a/app/workers/poll_expiration_notify_worker.rb +++ b/app/workers/poll_expiration_notify_worker.rb @@ -29,7 +29,7 @@ class PollExpirationNotifyWorker end def not_due_yet? - @poll.expires_at.present? && !@poll.expired? + @poll.expires_at? && !@poll.expired? end def requeue! diff --git a/lib/mastodon/cli/accounts.rb b/lib/mastodon/cli/accounts.rb index 1b33f56055a..d91c48563fd 100644 --- a/lib/mastodon/cli/accounts.rb +++ b/lib/mastodon/cli/accounts.rb @@ -305,7 +305,7 @@ module Mastodon::CLI query = query.where(domain: domains) unless domains.empty? processed, culled = parallelize_with_progress(query.partitioned) do |account| - next if account.updated_at >= skip_threshold || (account.last_webfingered_at.present? && account.last_webfingered_at >= skip_threshold) || skip_domains.include?(account.domain) + next if account.updated_at >= skip_threshold || (account.last_webfingered_at? && account.last_webfingered_at >= skip_threshold) || skip_domains.include?(account.domain) code = 0