class IMissValidator::Inspector::PresenceInspector

Check columns if defined not null, but no validator.

Constants

IGNORE_COLUMN_NAMES

Public Class Methods

columns(model) click to toggle source
# File lib/i_miss_validator/inspector/presence_inspector.rb, line 9
def self.columns(model)
  model.columns.select do |column|
    column.null == false && IGNORE_COLUMN_NAMES.include?(column.name) == false
  end
end
inspect(model) click to toggle source
# File lib/i_miss_validator/inspector/presence_inspector.rb, line 28
def self.inspect(model)
  missing_columns(model).map do |column|
    {
      column: column.name,
      missing_validator: :presence_validator,
      message: 'presence: true'
    }
  end
end
missing_columns(model) click to toggle source
# File lib/i_miss_validator/inspector/presence_inspector.rb, line 21
def self.missing_columns(model)
  validated_columns = validators(model).map(&:attributes).flatten.uniq
  columns(model).select do |column|
    validated_columns.include?(column.name.to_sym) == false
  end
end
validators(model) click to toggle source
# File lib/i_miss_validator/inspector/presence_inspector.rb, line 15
def self.validators(model)
  model.validators.select do |validator|
    validator.class == ActiveRecord::Validations::PresenceValidator
  end
end