Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A library for easy read/write access to OLE compound documents for Ruby
Ruby

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
contrib
data
lib/ole
test
ChangeLog
README
Rakefile

README

= Introduction

For now, see the docs for the Ole::Storage class.

= TODO

== 1.2.7

* fix property sets a bit more
  - write support
  - make Section not inherit from Struct. make more like MAPI::PropertyStore,
    including support for enumeration over properties, named & unnamed, maybe
    nicer key support, conversion to hash etc, so that you can just do:
      meta_data = ole.summary_info.to_h.merge(ole.doc_summary_info.to_h)
    maybe even define ole.meta_data to do something similar, though throw in
    some additional information that it can figure out. then extend oletool
    to have a new yaml meta data dumping mode.
* a function that classifies an ole file. had something similar at one point.
  used some of the "magic" files, like CompObj. fallback was typical patterns
  exhibited by office files. maybe returns the mime type.

== 1.2.8

* fix mode strings - like truncate when using 'w+', supporting append
  'a+' modes etc. done?
* make ranges io obey readable vs writeable modes.
* more RangesIO completion. ie, doesn't support #<< at the moment.
* ability to zero out padding and unused blocks

== 1.3.1

* fix this README :). maybe move todo out, and put something useful here.
* finish fleshing out tests - 100% coverage (currently 96%).
  - ranges io tests
  - file system api tests
  - more storage tests

== Longer term

* more benchmarking, profiling, and speed fixes. was thinking vs other
  ruby filesystems (eg, vs File/Dir itself, and vs rubyzip), and vs other
  ole implementations (maybe perl's, and poifs) just to check its in the
  ballpark, with no remaining silly bottlenecks.
* supposedly vba does something weird to ole files. test that.
Something went wrong with that request. Please try again.