lib/taskjuggler/IntervalList.rb in taskjuggler-0.1.1 vs lib/taskjuggler/IntervalList.rb in taskjuggler-0.2.0
- old
+ new
@@ -31,30 +31,30 @@
if self[si].end <= list[li].start
# self[si] does not overlap with list[li]. Ignore it.
si += 1
elsif self[si].end < list[li].end
# self[si] does overlap with list[li] but list[li] goes further
- res << Interval.new(list[li].start, self[si].end)
+ res << self[si].class.new(list[li].start, self[si].end)
si += 1
else
# self[si] does overlap with list[li] but self[si] goes further
- res << Interval.new(list[li].start, list[li].end)
+ res << self[si].class.new(list[li].start, list[li].end)
li += 1
end
elsif list[li].start < self[si].start
# The current Interval of list starts earlier than the current
# Interval of self.
if list[li].end <= self[si].start
# list[li] does not overlap with self[si]. Ignore it.
li += 1
elsif list[li].end < self[si].end
# list[li] does overlap with self[si] but self[si] goes further
- res << Interval.new(self[si].start, list[li].end)
+ res << self[si].class.new(self[si].start, list[li].end)
li += 1
else
# list[li] does overlap with self[si] but list[li] goes further
- res << Interval.new(self[si].start, self[si].end)
+ res << self[si].class.new(self[si].start, self[si].end)
si += 1
end
else
# self[si].start and list[li].start are identical
if self[si].end == list[li].end
@@ -84,10 +84,10 @@
if last
if last.end > iv.start
raise "Intervals may not overlap and must be added in " +
"ascending order."
elsif last.end == iv.start
- self[-1] = Interval.new(last.start, iv.end)
+ self[-1] = last.class.new(last.start, iv.end)
return self
end
end
append(iv)