Sha256: b361eb952cea0d6c4db8a15fbe64d6cef643322c187f3844ae4d18d67b3bcbc2

Contents?: true

Size: 1.1 KB

Versions: 91

Compression:

Stored size: 1.1 KB

Contents

# :nocov:
module PgEngine
  module Utils
    class CheckInvalidRecords
      def run
        invalids = []
        classes.each do |klass|
          klass.find_each do |record|
            invalids << record unless record.valid?
          end
        end
        invalids.map do |r|
          [
            (r.account.to_s if r.respond_to?(:account)),
            r.class.to_s,
            r.id,
            r.errors.full_messages
          ]
        end
      end

      def classes
        all = ActiveRecord::Base.descendants.select { |m| m.table_name.present? }
        all - ignored_classes
      end

      def ignored_classes
        [
          ActionText::Record,
          ActionMailbox::Record,
          ActiveAdmin::Comment,
          ActiveStorage::Record,
          PgEngine::BaseRecord,
          Audited::Audit,
          ActionText::RichText,
          ActionText::EncryptedRichText,
          ActionMailbox::InboundEmail,
          ActiveStorage::VariantRecord,
          ActiveStorage::Attachment,
          ActiveStorage::Blob,
          ApplicationRecord
        ]
      end
    end
  end
end
# :nocov:

Version data entries

91 entries across 91 versions & 1 rubygems

Version Path
pg_rails-7.6.19 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.18 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.17 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.16 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.15 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.14 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.13 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.12 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.11 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.10 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.9 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.8 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.7 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.6 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.5 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.4 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.3 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.2 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.1 pg_engine/lib/pg_engine/utils/check_invalid_records.rb
pg_rails-7.6.0 pg_engine/lib/pg_engine/utils/check_invalid_records.rb