kelredd/undies — pull request #1 by kelredd (2011-10-24 22:35:24+00:00)
Title: Rework to Undies internals

I reworked a bunch of internal stuff to support some new features and improve performance, especially in regard to memory handling:

* you now create templates with 3 required args: source, data, output
* source: a source class (file or proc) with any optional layout(s)
* data: a hash of key-value data
* output: an output class specifying the output stream and any output formatting (pretty-printing)

* new big features
* deeply nested layout sources (via the new source class)
* fully streamed output (no objects stored in memory, everything is processed and streamed out)

Outside of the new features, templates should compile faster b/c of less memory shuffling. The internals are simplified and fully tested. Also, you have full freedom to define elements using proxy methods (before order mattered when using proxy methods on elements).