Ruport 1.2 Released

Ruport version 1.2 has been released. This update contains
significant enhancements to Ruport’s functionality.

The full release notes can be found at , but a summary of the
changes can be found below.

The features included in this release could not have come about
without significant community involvement and we want to especially
thank those listed below, as well as the rest of the community in
general for their support.

== Acknowledgements

The following folks have contributed code, ideas, documentation,
funded feature work, suggestions, or other good stuff to Ruport that
made this release possible:

  • Brad E.
  • Gregory Gibson
  • Imobach González Sosa
  • Stefan M.
  • Jeremy McAnally
  • Dave Nelson
  • Emmanuel O.
  • Jason R.
  • Greg Weber

The core Ruport team has also been working on a Ruport book, to be
self-published by the end of the year. The content has been written
against the 1.2 codebase, so it’s a good way to get up to date on how
to use the new features. The current content is freely available at Some of the sections are slightly behind the
final set of features in 1.2, but they will be brought up to date in
the next few days.

We’d welcome any and all feedback on the new features. Just stop by
the mailing list at

  • Mike

== Ruport 1.2 CHANGELOG

API Breakage

* acts_as_reportable now uses real association names
* Data::Table constructors now yield Data::Feeder objects instead of
* 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
* Ruport 0.7 style stage building syntax removed

Enhancements to existing features

* Table#sort_rows_by now allows nil objects and allows 

* Table constructors now accept :filters and :transforms Procs
* AAR’s report_table() and report_table_by_sql() now accept :filters
:transforms Procs
* Grouping constructor accepts :order, and new
* 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 data
* 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