From: Gregory Brown Date: 2005-11-12T01:05:49+09:00 Subject: [ANN] Ruport 0.2.2 Released: Cleanup, Modules, and MORE! Quick Update --------------------------------------------------------------------------------------- Ruport Oh Deuce Deuce : The 'I Should Have Read Chapter 9 of the Pickaxe Earlier' Edition Updates: I've stuffed everything into modules, fixed a ton of semantic errors, fixed a few bugs, updated examples to work with the new system (moved em to FRS), formatted the code better and blah blah blah. Reasons to download: 1) You can now use ruport without it crushing skulls all over your namespace. 2) If the concept of a Mock really being a Fake was paining you, you'll love FakeDB 3) The older versions are now incompatible (if you're using ruportlib rather than the framework) 4) To feed my already inflated ego ;) Okay... onto that actual release part: What is Ruport? -------------------------------------------------------------------------------------- Ruby Reports (Ruport) is a pure Ruby Report Generation framework. Though it's currently in alpha stages, it's already useful for generating CSVs, talking to SQL servers via a simple DSL, mailing reports, and doing custom formatting via ERb templates. It also cleans gutters on houses, if you ask nice. Example: -------------------------------------------------------------------------------------- ---code---- @report_name = "Sample CSV" query(fetch { from :address_book } ) do |data| @report << data.to_csv end @mailer.recipients = %w[ gregory.t.brown@gmail.com you@you.com ] @mailer.body = "Worked Great!\n --- \n#{@report}" ---- /code ----- With a single YAML file handling config, the above will send an email entitled Sample CSV to myself and you@you.com with the contents "Worked Great!" followed by the inline CSV results from what gets evaluated as SELECT * from address_book (which would be run against whatever database you specified in your YAML file) That's really all there is to it. No strings attached :) Getting Started -------------------------------------------------------------------------------------- Ruport can do a lot more than this. For a full set of examples and a walk through manual. see: http://rubyforge.org/frs/?group_id=856&release_id=3481 (Now you can grab gzipp'd and b'zipped balls o' tar, too ;) ) Also, the API documentation lives at http://rubyforge.org/docs/ This will bring you through installation as well as a number of different features of the system. Ruport is a gem, so just fire off a: sudo gem install ruport on *nix or a gem install ruport on windows and you'll be ready to go. You can also download packages directly in a number of formats here: http://rubyforge.org/frs/?group_id=856&release_id=3482 I have also set up a tutorial for setting up Ruport on Windows with MySQL: For anyone interested in installing ruby-dbi with MySQL on windows, this tutorial will get you there, whether or not you plan on using ruport (installing ruport is the last step): http://stonecode.org:2501/stonecodeproductions/published/Ruport%2C+MySQL+and+Windows NOTE: You'll need to install ruby-dbi and the driver that matches your database in order for ruport to work. Looking forward to some feedback... Hope you like it! Check out the RubyForge page for more info, and feel free to contact me if you need help. http://ruport.rubyforge.org Enjoy! -Greg