Add RangeWalker#include_range?

git-svn-id: file:///home/svn/framework3/trunk@11237 4d416f70-5f16-0410-b530-b9f4589650da
unstable
Mike Smith 2010-12-06 22:18:49 +00:00
parent 1b6c0664e6
commit ebaf100a9f
1 changed files with 13 additions and 0 deletions

View File

@ -157,6 +157,19 @@ class RangeWalker
return false
end
#
# Returns true if this RangeWalker includes all of the addresses in the
# given RangeWalker
#
def include_range?(range_walker)
range_walker.ranges.all? do |start, stop|
ranges.any? do |self_start, self_stop|
r = (self_start..self_stop)
r.include?(start) and r.include?(stop)
end
end
end
#
# Calls the given block with each address
#