Web Images Videos Maps News Shopping Gmail more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Ruport 0.2.9: Taggable DataSets, FasterCSV integration, and Pretty Printing, Oh my!
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  1 message - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Gregory Brown  
View profile  
 More options Nov 28 2005, 10:49 pm
Newsgroups: comp.lang.ruby
From: Gregory Brown <gregory.t.br...@gmail.com>
Date: Tue, 29 Nov 2005 12:49:48 +0900
Local: Mon, Nov 28 2005 10:49 pm
Subject: [ANN] Ruport 0.2.9: Taggable DataSets, FasterCSV integration, and Pretty Printing, Oh my!
Hello again,

Seeing as it's been more than 3 days since the last Ruport release, I
felt the need to really supe this one up.  With a brand new set of
examples, a 666 line walkthrough, 16 entries on the changelog and a
huge chunk of the TODO list blasted away, I think it's suped up enough
for now.

So... on with one of those release announcements we all love so much....

Skip to the bottom for download information and documentation / examples / etc

=== What is Ruport?

Ruport is both a report generation / formatting framework and library.
 It aims to be highly customizable and easily extended to make the
generation of professional grade reports from various datasources a
quick, clean, and painless process.  It is currently alpha software
but is already quite useful for various reporting needs, from CSV and
HTML output of SQL queries to YAML dumping and restoration of DataSets
to building custom reports.

=== Release Notes

This will actually be the last stride towards a major release for at
least a month, so please get those bug reports, feature requests, and
other sorts of ideas out in the open.   0.3.0 may be the LAST alpha
release of Ruport, ( Ruby Reports 0.5.0 Beta is slated to come out
around the new year ), so be sure to throw your wacky ideas in while
Ruport is still young.

[ MY SPECIFIC BEG FOR HELP IS FOR SOMEONE TO WRITE A TUTORIAL! ]

=== Short Example

this one liner would output the table foo as html to STDOUT using
Ruport's framework

  @report = query("SELECT * FROM foo").to_html

=== Long Example

This code is from the example package and shows off a number of
Ruport's key features such as tagging and whatnot

[ code ]
# This is an example of how you can predefine tag conditions
tags = {
  :new_england => lambda { |data|
     data.select { |r| %w[ CT NH RI VT MA ME ].include?(r["state"]) } },
  :ghosts => lambda { |data|
     data.select { |r| %w[ Inky Blinky Clyde ].include?(r["name"]) } }

}

# This is doing the actual query and the logic of pruning based on tag
query("SELECT * FROM address_book") do |data|
  data.apply_tags(tags)
  ghosts_in_ne = data.select { |row|
    row.tags.include?(:new_england) and
    row.tags.include?(:ghosts) }.map { |r| r["name"] }

  # anything that gets stuffed in @report will automatically be outputted and
  # emailed by default.
  @report = "We found these ghosts in New England: #{ghosts_in_ne.join(', ')}"
  @report << "\n\nThis is the data we used:\n#{data}"
end

# This will automatically become the title of emailed reports.
@report_name = "Ghosts in New England"

# Yep... there it is.   The mailing system.  Complex... isn't it?
@mailer.recipients = %w[ gregory.t.br...@gmail.com t...@test.com ]

# But if you wanted something other than the contents of @report...
# just override @mailer.body with your contents.

[/code]

=== What's new in this Release:

A ton!   You can now make use of DataSet tagging (as shown above), set
labels for DSNs and use multiple DSNs in a single report, generate
HTML or CSV or Plaintext output with headers and footers, use
FasterCSV so that your CSVs generate quicker, take advantage of the -t
flag to run the tests during install time, read through the 666 line
walkthrough in the example package and more!

See the Changelog for details:
http://rubyforge.org/frs/shownotes.php?group_id=856&release_id=3657

=== Requirements

Ruport relies on Ruby DBI for all of it's  DBMS interaction.   It is
possible to use the Ruport formatting library without installing DBI,
but it is not recommended.

Also, because Ruport needs to deal with very large datasets
efficiently, it uses James Edward Gray II's FasterCSV for it's CSV
operations.   This is a gem, so it can easily be installed with the
--include-dependencies flag

=== Get it

on *nix:

   sudo gem install ruport -t

windows:

  gem install ruport -t

=== More Resources

Example Package: (Highly Recommended!)

http://rubyforge.org/frs/?group_id=856&release_id=3656

Source:

http://rubyforge.org/frs/?group_id=856&release_id=3657

Documentation:
http://ruport.rubyforge.org/docs/

CVS info (Current module: dev-ruport)
http://rubyforge.org/scm/?group_id=856

News:
http://stonecode.org/blog

=== Thanks!


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google