Module: DatabaseConsistency::Helper

Defined in:
lib/database_consistency/helper.rb

Overview

The module contains helper methods

Class Method Summary collapse

Class Method Details

.check_inclusion?(array, element) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/database_consistency/helper.rb', line 21

def check_inclusion?(array, element)
  array.include?(element.to_s) || array.include?(element.to_sym)
end

.first_level_associations(model) ⇒ Object



25
26
27
28
29
30
31
32
33
34
# File 'lib/database_consistency/helper.rb', line 25

def first_level_associations(model)
  associations = model.reflect_on_all_associations

  while model != ActiveRecord::Base && model.respond_to?(:reflect_on_all_associations)
    model = model.superclass
    associations -= model.reflect_on_all_associations
  end

  associations
end

.modelsObject

Returns list of models to check



9
10
11
# File 'lib/database_consistency/helper.rb', line 9

def models
  ActiveRecord::Base.descendants.delete_if(&:abstract_class?)
end

.parent_modelsObject

Return list of not inherited models



14
15
16
17
18
# File 'lib/database_consistency/helper.rb', line 14

def parent_models
  models.group_by(&:table_name).each_value.map do |models|
    models.min_by { |model| models.include?(model.superclass) ? 1 : 0 }
  end
end