file_system.rb

Path: lib/ole/storage/file_system.rb
Last Update: Mon Mar 08 20:42:31 +0000 2010

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  

[Validate]