def self.scan(path)
if (path.empty? || path == '/') then
yield('', '')
return
end
if (path !~ %r"^/") then
raise "not a path: #{path.inspect}"
end
path_list = path.split(%r"/", -1)
path_info_list = Array.new
until (path_list.empty?)
if (path_list.length == 1) then
script_name = ''
else
script_name = path_list.join('/')
end
if (path_info_list.empty?) then
path_info = ''
else
path_info = '/' + path_info_list.join('/')
end
yield(script_name, path_info)
path_info_list.unshift(path_list.pop)
end
nil
end