Class: ConsistencyFail::Introspectors::HasOne

Inherits:
Object
  • Object
show all
Defined in:
lib/consistency_fail/introspectors/has_one.rb

Instance Method Summary collapse

Instance Method Details

#instances(model) ⇒ Object



6
7
8
9
10
# File 'lib/consistency_fail/introspectors/has_one.rb', line 6

def instances(model)
  model.reflect_on_all_associations.select do |a|
    a.macro == :has_one && a.options[:as].to_s.length == 0 && a.options[:through].to_s.length == 0
  end
end

#missing_indexes(model) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/consistency_fail/introspectors/has_one.rb', line 27

def missing_indexes(model)
  desired = desired_indexes(model)

  existing_indexes = desired.inject([]) do |acc, d|
    acc += TableData.new.unique_indexes_by_table(d.model,
                                                 d.model.connection,
                                                 d.table_name)
  end

  desired.reject do |index|
    existing_indexes.include?(index)
  end
end