Welcome to the release of Ruport 0.2.5: The "I'm releasing too often" edition. What is Ruport? -------------------------------- Right now, Ruport is alpha software, but it is already useful. It is both a report generation and formatting framework AND a reporting library that aims to make talking to database FOO and outputting in format BAR trivial. You can even talk to things that aren't databases, like CSV files. You have a choice of using the ruport application to automate a lot of your work, or using the library to implement your own application based on it. That part is up to you. Ruport currently can take a query and talk to any Database DBI supports, and return you a DataSet, which can do neat things, like easily output a CSV or an HTML table and even email them trivially. This functionality will be expanded greatly in coming releases. Who is this new rcanieso guy? ------------------------------------ I'm no longer all out on my lonesome with Ruport. Say hello to Robert Canieso, our new maintainer of the Ruport::Format module. About 0.2.5 --------------------------------- Well folks, the new stuff here is actually quite useful, despite the fact that I have not yet updated the ruport-example package to show off the shiny new features. In previous versions, I was using Report::DataSet and Report::DataRows as these sort of pseudo Enumerable messes. No more! now: query "SELECT * FROM FOO" do |data| @report = data.map { |row| row["name"] } .join(" | ") end will work just fine! This again, goes in the category of I should have read the modules chapter of the pickaxe earlier. Unfortunately, for those who were using the more low level Report::Engine#select or Report::Engine#execute which returned DBI::Row objects... this feature has gone away in Ruport 0.2.5 Report::Engine#query is now your one stop shop, and it will continue to be improved in newer releases. We've also begun work on Ruport::Format and now support html and csv output. See the CHANGELOG for the rest. Where do I get it? -------------------------------------- Ruport is a gem. on most *nix, it's probably just: sudo gem install ruport on windows, it's probably: gem install ruport You can also rake your own gem, or work directly with the source by downloading one of the packaged releases (available as zip, gzip, bzip2, gem): http://rubyforge.org/frs/?group_id=856&release_id=3543 How do I use this thing?!? ------------------------------------------ If you want to use the ruport executable, first start by typing: ruport generate my_project_name to create a little directory structure to work on. Then edit config/ruport.yaml and populate it with DB / Email info. Then start writing your templates. Oh... don't know how to do that? There is a set of examples at: http://rubyforge.org/frs/?group_id=856&release_id=3481 which you can just unzip and then follow the PDF walkthrough. Two Caveats: 1) The new features in 0.2.5 are not in this walkthrough yet, I will release ruport-example 0.2.4 some time this week. 2) There has been some concern about the artwork on the front page of the manual. It was the result of me searching wikipedia for stove when looking for suitable "cookbook" artwork. But the confusion it is causing will have it removed from the next version of the walkthrough, possibly replaced with a nice big slab of chunky bacon You can also use the API documentation (which is not illustrated and sadly patchy in parts) http://ruport.rubyforge.org/docs/ Or read the source directly. Or email me on or off list, because I need the feedback! Minor Complaint: ----------------------------- the 1.8.3 / 1.8.4pre1 bug with RubyGems / RubyForge is a nightmare! I had to rebuild everything... and then I had to update version numbers... and whine and cry about it. Please release the fix to the public as soon as you can! -Greg