class Mv::Core::Services::LoadConstraints

Attributes

tables[R]

Public Class Methods

new(tables) click to toggle source
# File lib/mv/core/services/load_constraints.rb, line 11
def initialize(tables)
  @tables = tables
end

Public Instance Methods

execute() click to toggle source
# File lib/mv/core/services/load_constraints.rb, line 15
def execute
  res = []

  Mv::Core::Db::MigrationValidator.where(table_name: tables).each do |migration_validator|
    validation = migration_validator.validation
    descriptions = Mv::Core::Router.route(validation)

    descriptions.each do |description|
      add_constraint(res, description).validations << validation
    end
  end

  return res
end

Private Instance Methods

add_constraint(constraints_list, description) click to toggle source
# File lib/mv/core/services/load_constraints.rb, line 32
def add_constraint(constraints_list, description)
  res = constraints_list.find{|constraint| constraint.description == description}

  unless res
    res = Mv::Core::Constraint::Factory.create_constraint(description)
    constraints_list << res
  end

  res
end