Module: DatabaseConsistency::Helper
- Defined in:
- lib/database_consistency/helper.rb
Overview
The module contains helper methods
Class Method Summary collapse
- .check_inclusion?(array, element) ⇒ Boolean
- .first_level_associations(model) ⇒ Object
-
.models ⇒ Object
Returns list of models to check.
-
.parent_models ⇒ Object
Return list of not inherited models.
Class Method Details
.check_inclusion?(array, element) ⇒ 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 |
.models ⇒ Object
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_models ⇒ Object
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 |