Use ActiveModel::Attributes for admin/account_action boolean values (#35247)

This commit is contained in:
Matt Jankowski 2025-07-03 03:28:07 -04:00 committed by GitHub
parent 49db8a9662
commit 6e39b5ef04
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,6 +2,7 @@
class Admin::AccountAction
include ActiveModel::Model
include ActiveModel::Attributes
include AccountableConcern
include Authorization
@ -20,7 +21,10 @@ class Admin::AccountAction
:report_id,
:warning_preset_id
attr_reader :warning, :send_email_notification, :include_statuses
attr_reader :warning
attribute :include_statuses, :boolean, default: true
attribute :send_email_notification, :boolean, default: true
alias send_email_notification? send_email_notification
alias include_statuses? include_statuses
@ -28,21 +32,6 @@ class Admin::AccountAction
validates :type, :target_account, :current_account, presence: true
validates :type, inclusion: { in: TYPES }
def initialize(attributes = {})
@send_email_notification = true
@include_statuses = true
super
end
def send_email_notification=(value)
@send_email_notification = ActiveModel::Type::Boolean.new.cast(value)
end
def include_statuses=(value)
@include_statuses = ActiveModel::Type::Boolean.new.cast(value)
end
def save!
raise ActiveRecord::RecordInvalid, self unless valid?