Class: Mv::Core::Services::CreateConstraints

Inherits:
Object
  • Object
show all
Defined in:
lib/mv/core/services/create_constraints.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tables) ⇒ CreateConstraints

Returns a new instance of CreateConstraints.



9
10
11
# File 'lib/mv/core/services/create_constraints.rb', line 9

def initialize(tables)
  @tables = tables.present? ? tables : Mv::Core::Db::MigrationValidator.pluck(:table_name)
end

Instance Attribute Details

#tablesObject (readonly)

Returns the value of attribute tables.



7
8
9
# File 'lib/mv/core/services/create_constraints.rb', line 7

def tables
  @tables
end

Instance Method Details

#executeObject



13
14
15
16
17
18
19
20
# File 'lib/mv/core/services/create_constraints.rb', line 13

def execute
  constraints_comparizon = Mv::Core::Services::CompareConstraintArrays.new([], existing_constraints)
                                                                      .execute
  Mv::Core::Services::SynchronizeConstraints.new(constraints_comparizon[:added], 
                                                 constraints_comparizon[:updated], 
                                                 constraints_comparizon[:deleted])
                                            .execute
end