Class: MergeOperations

Inherits:
Merge
  • Object
show all
Defined in:
lib/xmimerge/merge_operations.rb

Instance Method Summary collapse

Methods inherited from Merge

#check, #check_change_propertie, #merge

Constructor Details

#initialize(from_class, to_class) ⇒ MergeOperations

Returns a new instance of MergeOperations.



5
6
7
8
9
# File 'lib/xmimerge/merge_operations.rb', line 5

def initialize(from_class, to_class)
  super()
  @from_class = from_class
  @to_class = to_class
end

Instance Method Details

#check_changes(from_operation) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/xmimerge/merge_operations.rb', line 19

def check_changes(from_operation)

  @log.debug("Checking operation: #{@from_class.full_name}::#{from_operation.name}")   

  to_operation = @to_class.operation_by_name(from_operation.name)
  if to_operation.nil?
    new_operation from_operation
  else
    check_existing(from_operation, to_operation)
  end
end

#check_existing(from_operation, to_operation) ⇒ Object



71
72
73
74
75
76
77
78
79
80
81
# File 'lib/xmimerge/merge_operations.rb', line 71

def check_existing(from_operation, to_operation)

  from_full_operation_name = "#{@from_class.full_name}::#{from_operation.name}"

  # Visibility
  check_change_propertie("visibility", from_operation, to_operation, "OperationVisibility")

  # Parameters
  merge = MergeParameters.new("Operation", from_operation, to_operation)
  @only_check ? merge.check : merge.merge      
end

#check_removedObject



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/xmimerge/merge_operations.rb', line 31

def check_removed
  to_operations = @to_class.operations.each do |to_operation|
    
    ok = false
    @from_class.operations.each do |from_operation|

      if from_operation.name == to_operation.name
        ok = true
        break
      end
    end
    if !ok
      command = "\t- Operation #{@from_class.full_name}::#{to_operation.name}"
      @commands.add_command_to_buffer(command)
      unless @only_check 
        if @commands.has_command?(command)
          @log.info "[OK] #{command}"
        else
          #@log.info "[NOT] #{command}"
        end
      end
    end
  end    
end

#new_operation(from_operation) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/xmimerge/merge_operations.rb', line 56

def new_operation(from_operation)
  @log.debug("New operation")    

  command = "\t+ Operation #{@from_class.full_name}::#{from_operation.name}"   
  @commands.add_command_to_buffer(command)

  unless @only_check 
    if @commands.has_command?(command)
      @log.info "[OK] #{command}"
    else
      @log.info "[NOT] #{command}"
    end
  end
end

#verifyObject



11
12
13
14
15
16
17
# File 'lib/xmimerge/merge_operations.rb', line 11

def verify
  @from_class.operations.each do |from_operation|    
    check_changes(from_operation)
  end

  check_removed      
end