class Synapse::ProcessManager::CorrelationSet

Container that tracks additions and deletions of correlations for a process instance

Attributes

additions[R]

@return [Set]

correlations[R]

@return [Set]

deletions[R]

@return [Set]

Public Class Methods

new() click to toggle source
# File lib/synapse/process_manager/correlation_set.rb, line 17
def initialize
  @correlations = Set.new
  @additions = Set.new
  @deletions = Set.new
end

Public Instance Methods

add(correlation) click to toggle source

Adds the given correlation to this set, if not previously added

@param [Correlation] correlation @return [Boolean]

# File lib/synapse/process_manager/correlation_set.rb, line 34
def add(correlation)
  if @correlations.add? correlation
    unless @deletions.delete? correlation
      @additions.add correlation
    end
  end
end
commit() click to toggle source

Resets the tracked changes @return [undefined]

# File lib/synapse/process_manager/correlation_set.rb, line 25
def commit
  @additions.clear
  @deletions.clear
end
delete(correlation) click to toggle source

Removes the given correlation from this set, if previously added

@param [Correlation] correlation @return [Boolean]

# File lib/synapse/process_manager/correlation_set.rb, line 46
def delete(correlation)
  if @correlations.delete? correlation
    unless @additions.delete? correlation
      @deletions.add correlation
    end
  end
end