Class: TECSCDE::ChangeSetControl::ChangeSet
- 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
- #add(tm_object) ⇒ Object
- #apply ⇒ Object
-
#initialize(number) ⇒ ChangeSet
constructor
A new instance of ChangeSet.
- #set_undo_point ⇒ Object
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 |
#apply ⇒ Object
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_point ⇒ Object
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 |