Ruport 1.2 pre-release, please help test!

Hi folks,

It's been a while since we've done a major Ruport release (1.0 in mid-
May), but we've been busy behind the scenes. Ruport 1.2 is just about
ready and includes a boat load of changes and enhancements.

What we're asking folks to do is pull it down, kick the tires, try to
break stuff, run the tests, etc. We'd also appreciate people helping
us out to find issues with documentation being out of date or unclear.

If all goes well, you should see the official release in a couple
days, but for the adventurous:

   gem install ruport --source
   gem install ruport-util --source

This will pull ruport 1.1.9999 and ruport-util 0.7.9999

We've put the API docs for this pre-release up at:

It'll take us a little while to get it back up to date, but the
content in the Ruport Book should be helpful for finding your way
around, though not all the new features have been covered yet.

Please report all problems with docs, the book, or the source, or just
general cantankerousness at

Of course, if you have found a bug, you can put it right in the



Use the anonymous account: ruport / blinky

Abridged release notes follow, but you can find the full notes as a
work in progress at:

Looking forward to any feedback,


== Ruport 1.2 CHANGELOG

API Breakage

    * acts_as_reportable now uses real association names
    * Data::Table constructors now yield Data::Feeder objects instead
of Data::Table
    * append_hash, append_array, and append_record removed from
    * Renderer::Hooks changed signature for renderable_data() to
    * Formatter::PDF#draw_text no longer changes the position of the
drawing cursor
    * Ruport 0.7 style stage building syntax removed

Enhancements to existing features

    * Table#sort_rows_by now allows nil objects and allows ascending /
descending order
    * Table constructors now accept :filters and :transforms Procs
    * AAR's report_table() now accept :filters and :transforms Procs
    * Grouping constructor accepts :order, and new
Grouping#sort_grouping_by method
    * Formatter::PDF#draw_table now exposes column heading formatting
    * Renderers can now be passed :file => "somefile.txt" to save

Brand New Features

    * Data::Feeder allows for custom transformations and filters on
    * Grouping#sigma added (Thanks Dave Nelson)
    * Formatter::PDF#draw_text! will draw text at an absolute
position, ignoring margins
    * Formatter::Template provides a simple templating system for
renderer options