# frozen_string_literal: true module Reportable extend ActiveSupport::Concern included do has_many :reports, validate: false, as: :reportable, dependent: :delete_all end def close_open_reports!(moderator = nil) reports.where(open: true).find_each do |r| r.update!(open: false, state: 'closed', admin: moderator) r.update_index # ReportLogger.log(r, 'Closed') end end end