Class: Nullalign::Introspectors::ValidatesPresenceOf

Inherits:
Object
  • Object
show all
Defined in:
lib/nullalign/introspectors/validates_presence_of.rb

Instance Method Summary collapse

Instance Method Details

#instances(model) ⇒ Object



6
7
8
9
10
# File 'lib/nullalign/introspectors/validates_presence_of.rb', line 6

def instances(model)
  model.validators.select do |v|
    v.class == ActiveRecord::Validations::PresenceValidator && (v.options.keys & %i(on if unless)).empty?
  end
end

#missing_nonnull_constraints(model) ⇒ Object



31
32
33
34
35
36
37
38
# File 'lib/nullalign/introspectors/validates_presence_of.rb', line 31

def missing_nonnull_constraints(model)
  return [] unless model.connection.tables.include? model.table_name
  existing_nonnull_constraints = TableData.new.nonnull_constraints(model)

  desired_nonnull_constraints(model).reject do |index|
    existing_nonnull_constraints.include?(index)
  end
end