Reports come in all flavours, but the code to generate them usually only comes in one: monotony. From simple data transformations to highly customized printable reports, you are often faced with a dilemma: Use a canned solution at the cost of full control, or put together acres of glue code to tie together all the tools you'll need. Of course, there is another option, and that is Ruby Reports.
There are other reporting solutions out there that claim they have the answer to all your business reporting problems. We're not in the business of competing with those folks. In fact, you'll find that the core of Ruby Reports, ruport, focuses almost entirely on the underplumbing.
We provide standard data structures to allow you to easily compare data from any number of sources, including CSV files, ActiveRecord backed databases, and even raw SQL queries against legacy databases. We also provide an extremely malleable formatting system that lays the foundations for PDF,CSV,HTML,and Text based reports. To help get you off the ground floor, we're also actively maintaining a utilities package, ruport-util, which provides support for a range of higher level features, such as invoice generation, report mailing, graphing, code generation, and additional output formats.
Although you won't find canned reports to do drill downs or data cubes or any other specific task in Ruby Reports, you'll find that we've made the sharpest knives in the drawer available to you. Instead of spending your time building a foundation, you can quickly mix and match our components, and then immediately begin to focus on your actual task.
The ruport and ruport-util packages are distributed as RubyGems so installation is a snap:
gem install ruport -y gem install ruport-util -y
To get a feel for how Ruport works, you may want to have a look at some simple examples.
We have also written a free-content book, which covers a range of topics and is updated regularly. The book is now available for purchase from Lulu Marketplace. Once you've got your feet wet, you'll find the API documentation and our other resources helpful.
Please feel free to drop by the Ruport mailing list with any questions, problems, or suggestions.