class Descriptor::MergePoint::List

Public Class Methods

new() click to toggle source
# File lib/rui/descriptor.rb, line 173
def initialize
  @mps = []
end

Public Instance Methods

add(mp) click to toggle source
# File lib/rui/descriptor.rb, line 181
def add(mp)
  @mps << mp
end
first() click to toggle source
# File lib/rui/descriptor.rb, line 177
def first
  @mps.first
end
step!() click to toggle source
# File lib/rui/descriptor.rb, line 185
def step!
  raise "Stepping invalid merge point list" if @mps.empty?
  @mps.each do |mp|
    mp.position += 1
  end
  @mps.first.count -= 1
  clean!
end

Private Instance Methods

clean!() click to toggle source
# File lib/rui/descriptor.rb, line 196
def clean!
  @mps.delete_if {|mp| not mp.valid? }
end