Class: DbValidator::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/db_validator/validator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Validator

Returns a new instance of Validator.



10
11
12
13
14
# File 'lib/db_validator/validator.rb', line 10

def initialize(options = {})
  @options = options
  @reporter = Reporter.new
  configure_from_options(options)
end

Instance Attribute Details

#reporterObject (readonly)

Returns the value of attribute reporter.



8
9
10
# File 'lib/db_validator/validator.rb', line 8

def reporter
  @reporter
end

Instance Method Details

#validate_allObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/db_validator/validator.rb', line 16

def validate_all
  Rails.application.eager_load! if defined?(Rails)

  models = find_all_models
  models_to_validate = models.select { |model| should_validate_model?(model) }
  total_models = models_to_validate.size

  if models_to_validate.empty?
    Rails.logger.debug "No models selected for validation.".colorize(:yellow)
    return @reporter.generate_report
  end

  models_to_validate.each_with_index do |model, index|
    Rails.logger.debug "Validating model #{index + 1}/#{total_models}: #{model.name}".colorize(:cyan)
    validate_model(model)
  end

  @reporter.generate_report
end