Module: Ole

Defined in:
lib/ole/base.rb,
lib/ole/support.rb,
lib/ole/types/base.rb,
lib/ole/storage/base.rb,
lib/ole/storage/version.rb,
lib/ole/storage/meta_data.rb,
lib/ole/types/property_set.rb,
lib/ole/storage/file_system.rb

Overview

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.

Defined Under Namespace

Modules: Types Classes: IOMode, Storage

Constant Summary collapse

Log =
Logger.new_with_callstack