Introduction
This file intends to provide file system-like api support, a la
zip/zipfilesystem.
TODO
- need to implement some more IO functions on RangesIO, like puts, print
etc, like AbstractOutputStream from zipfile.
- check Dir.mkdir, and File.open, and File.rename, to add in filename length
checks (max 32 / 31 or something). do the automatic truncation, and add in
any necessary warnings.
- File.split(‘a/’) == File.split(‘a’) ==
[’.’, ‘a’] the implication of this, is that things
that try to force directory don‘t work. like,
File.rename(‘a’, ‘b’), should work if a is a file
or directory, but File.rename(‘a/’, ‘b’) should
only work if a is a directory. tricky, need to clean things up a bit more.
i think a general path name => dirent method would work, with flags
about what should raise an error.
- Need to look at streamlining things after getting all the tests passing, as
this file‘s getting pretty long - almost half the real
implementation. and is probably more inefficient than necessary. too many
exceptions in the expected path of certain functions.
- should look at profiles before and after switching ruby-msg to use the
filesystem api.
Required files
ole/storage