Class: TECSCDE::ChangeSetControl::ChangeSet

Inherits:
Object
  • Object
show all
Defined in:
lib/tecscde/change_set_control/change_set.rb

Overview

ChangeSet class

record each change (change by user’s operation)

Instance Method Summary collapse

Constructor Details

#initialize(number) ⇒ ChangeSet

Returns a new instance of ChangeSet.



6
7
8
9
# File 'lib/tecscde/change_set_control/change_set.rb', line 6

def initialize(number)
  @set = {}
  @number = number
end

Instance Method Details

#add(tm_object) ⇒ Object



11
12
13
14
15
# File 'lib/tecscde/change_set_control/change_set.rb', line 11

def add(tm_object)
  return if @set.key?(tm_object)
  # TECSCDE.logger.info("add_change_set #{tm_object.class} number=#{@number}")
  @set[tm_object] = tm_object.clone_for_undo
end

#applyObject



23
24
25
26
27
28
29
# File 'lib/tecscde/change_set_control/change_set.rb', line 23

def apply
  TECSCDE.logger.debug("applying change_no=#{@number}")
  @set.each_key do |tm_object|
    tm_object.copy_from(@set[tm_object])
    TECSCDE.logger.debug("apply #{tm_object.class}")
  end
end

#set_undo_pointObject



17
18
19
20
21
# File 'lib/tecscde/change_set_control/change_set.rb', line 17

def set_undo_point
  count = @set.length
  TECSCDE.logger.info("* set_undo_point number=#{@number}, count=#{count}")
  count
end