This is the template pattern from Design Patterns in Ruby by [Russ Olsen]
report1/ contains the first pass at the report script.
report2/ contains the second pass at the report script with enhancements to produce both HTML and plin text output.
report3_template/ contains a first pass at using a template design patern to accomplish the same goal as report2.
report4_hookmethods/ contains the final version of the template patten using hook methods in place of the abstract mehtods from report3_template.