def rename from_path, to_path
dirent = @ole.dirent_from_path from_path
raise Errno::ENOENT, from_path unless dirent
begin
unlink to_path
rescue Errno::ENOENT
1 + 1
end
from_parent_path, from_basename = File.split expand_path(from_path)
to_parent_path, to_basename = File.split expand_path(to_path)
from_parent = @ole.dir.send :dirent_from_path, from_parent_path, from_path
to_parent = @ole.dir.send :dirent_from_path, to_parent_path, to_path
from_parent.children.delete dirent
dirent.name = to_basename
to_parent.children << dirent
0
end