Sha256: 2b5771cb07b3ea2de0b8b4e4ff56cc5b35546cbea0e7d79ada86c254b0a2f3f5

Contents?: true

Size: 841 Bytes

Versions: 1

Compression:

Stored size: 841 Bytes

Contents

require "simple_data_validator/version"

module SimpleDataValidator
  DEFAULT_REPORT_NAME = 'simple_data_validator_report.csv'.freeze

  def self.validate_all_data(report_name: DEFAULT_REPORT_NAME)
    CSV.open(report_name, 'wb') do |csv|
      ActiveRecord::Base.descendants.each do |model|
        begin
          invalid_records = model.select(&:invalid?)
          csv << [model, [invalid_records.count, 'invalid records found'].join(' ')]
          invalid_records.each do |record|
            begin
              csv << ['', ['id=',record.id].join, record.errors.full_messages.to_sentence]
            rescue => e
              csv << ['', ['id=',record.id].join, e.message]
              next
            end
          end
        rescue => e
          csv << [model, e.message]
          next
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
simple_data_validator-0.1.1 lib/simple_data_validator.rb