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
http://rubyreports.org/release_notes-1.2.html , 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
http://ruportbook.com. 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 http://groups.google.com/group/ruby-reports.

  • 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
    Data::Table
  • append_hash, append_array, and append_record removed from
    Data::Table
  • Renderer::Hooks changed signature for renderable_data() to
    renderable_data(format)
  • 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() and report_table_by_sql() 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
    options
  • Renderers can now be passed :file => " somefile.txt" to save
    output

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
    renderer
    options