Class: ConsistencyFail::Introspectors::TableData

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

Instance Method Summary collapse

Instance Method Details

#unique_indexes(model) ⇒ Object



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

def unique_indexes(model)
  return [] if !model.table_exists?

  unique_indexes_by_table(model, model.connection, model.table_name)
end

#unique_indexes_by_table(model, connection, table_name) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/consistency_fail/introspectors/table_data.rb', line 12

def unique_indexes_by_table(model, connection, table_name)
  ar_indexes = connection.indexes(table_name).select(&:unique)
  result = ar_indexes.map do |index|
    ConsistencyFail::Index.new(model,
                               table_name,
                               index.columns)
  end
  result
end