Class: DatabaseConsistency::ValidatorsProcessor

Inherits:
Object
  • Object
show all
Defined in:
lib/database_consistency/validators_processor.rb

Overview

The class to process all comparators

Constant Summary collapse

COMPARATORS =
{
  presence: DatabaseConsistency::Comparators::PresenceComparator
}.freeze

Instance Method Summary collapse

Instance Method Details

#reportsObject



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/database_consistency/validators_processor.rb', line 8

def reports
  Helper.models.flat_map do |model|
    model.validators.flat_map do |validator|
      next unless (comparator = COMPARATORS[validator.kind])

      validator.attributes.map do |attribute|
        next unless (column = Helper.find_field(model, attribute.to_s))

        comparator.compare(validator, model, column)
      end
    end
  end.compact
end