by ruport

ruport / ruport

Ruby Reports : Making your reporting life suck less, through Ruby

415 Stars 102 Forks Last release: Not found Other 1.1K Commits 5 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Build Status Coverage Status

What Ruport Is

Ruby Reports (Ruport) is an extensible reporting system.

It aims to be as lightweight as possible while still providing core support for data aggregation and manipulation as well as multi-format rendering of reports.

Ruport provides tools for using a number of data sources, including CSV files, ActiveRecord models, and raw SQL connections via RubyDBI (through ruport-util).

Data manipulation is easy as there are standard structures that support record, table, and grouping operations. These all can be extended to implement custom behavior as needed.

For common tasks, Ruport provides formatters for CSV, HTML, PDF, and text- based reports. However, the real power lies in building custom report controllers and formatters. The base formatting libraries provide a number of helper functions that will let you build complex reports while maintaining a DRY and consistent interface.

To get a quick feel for what you can accomplish with Ruport, take a look at a few simple examples provided on our web site:

Since Ruport's core support is intentionally minimalistic, you may be looking for some higher level support for specific needs such as graphing, invoices, report mailing support, etc. For this, you may wish to take a look at the ruport-util package, which contains some generally useful tools and libraries to extend Ruport's capabilities.


To install ruport via rubygems:

$ sudo gem install ruport

Check to see if it installed properly:

$ ruby -e "require 'ruport'; puts Ruport::VERSION"

If you get an error, please let us know on our mailing list.



Ruport relies on PDF::Writer for its formatting support. If you want to make use of textile helpers, you'll also need RedCloth.

Database interaction

If you wish to use Ruport to report against a Rails project, you'll need ActiveRecord and the


If you want to use Ruport::Query for raw SQL support, you'll need to install

and whatever database drivers you might need.


Our developers have published a free-content book about all things Ruport, including complete coverage of actsasreportable and some of ruport-util's features. This book serves as the definitive guide to Ruport, so all users should become acquainted with it:

If you are looking to dig a little deeper, there are a couple more resources that may be helpful to you.

  • The latest stable API documentation is available at:
  • The code repository is on GitHub:
  • Our issues tracker is at


If you'd like to contribute code to Ruport, fork the repository and open a PR!

We are very responsive to contributors, and review every patch we receive fairly quickly. Most contributors who successfully get a patch or two applied are given write access to the repositories and invited to join Ruport's development team. Since we view every user as potential contributor, this approach works well for us.

So if you want to help out with Ruport, we'll happy accept your efforts!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.