[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: [ANN] FasterCSV 0.2.0 -- The user requests release!

Michael Schoen

4/2/2006 2:43:00 PM

Awesome, thank you!

James Edward Gray II wrote:
> FasterCSV 0.2.0 Released
> ========================
>
> FasterCSV has a ton of new features from requests (some even provided
> patches) by you! It's very hard for me to pick what to show off here,
> but if I had to pick two favorites it would be using an Array of headers
> and the new shortcut interface.
>
> Since 0.1.6, FasterCSV has allowed named access for columns. Now you
> can say goodbye to indexes altogether as Dakshinamurthy Karra has sent
> in a patch allowing you to specify an Array of headers to use for any
> document. Just setup the headers when you create the instance and it's
> nothing but names you'll have to worry about from then on.
>
> Ara.T.Howard also sent in a patch for a short but powerful interface
> extension. Check this out:
>
> FCSV { |csv_out| csv_out << %w{my data here} } # to STDOUT
> FCSV(csv = "") { |csv_str| csv_str << %w{my data here} } # to a String
> FCSV(STDERR) { |csv_err| csv_err << %w{my data here} } # to STDERR
>
> You can wrap IO objects with that, change options, or whatever. It also
> caches the instance so subsequent calls won't invent another FasterCSV
> object.
>
> There's a lot more in this release though, including serialization
> similar to what Hal Fulton described in his metaprogramming article and
> a CSV compatibility layer for easy transitioning.
>
> If you work with CSV data, you want to download this release, trust me!
>
> What is FasterCSV?
> ------------------
>
> (from the README)
>
> FasterCSV is intended as a replacement to Ruby's standard CSV library.
> It was designed to address concerns users of that library had and it has
> three primary goals:
>
> 1. Be significantly faster than CSV while remaining a pure Ruby library.
> 2. Use a smaller and easier to maintain code base. (We're about even now,
> but not if you compare the features!)
> 3. Improve on the CSV interface.
>
> What's New?
> -----------
>
> (highlights from the CHANGELOG)
>
> * Made FasterCSV#lineno CSV aware.
> * Added line numbers to MalformedCSVError messages.
> * <tt>:headers</tt> can now be set to an Array of headers to use.
> * <tt>:headers</tt> can now be set to an external CSV String of headers
> to use.
> * Added an <tt>:unconverted_fields</tt> options, so those can be returned
> when needed.
> * Provided support for the serialization of custom Ruby objects using CSV.
> * Added CSV drop-in interface.
> * Added header information to FieldInfo Struct for conversions by header.
> * Added an alias to support <tt>require "fastercsv"</tt>.
> * Added FasterCSV::instance and FasterCSV()/FCSV() shortcuts for easy
> output.
>
> Migrating from CSV to FasterCSV?
> --------------------------------
>
> The README includes a section on the differences and you can read that
> here:
>
> http://fastercsv.ruby...
>
> You call also see general usage in the documentation of the interface,
> right here:
>
> http://fastercsv.ruby...classes/FasterCSV.html
>
> For quick and dirty switching, try:
>
> begin
> require "faster_csv"
> FasterCSV.build_csv_interface
> rescue LoadError
> require "csv"
> end
> # ... use CSV here ...
>
> If FasterCSV isn't meeting your needs, I want to here about it:
>
> james@grayproductions.net
>
> Where can I learn more?
> -----------------------
>
> FasterCSV is hosted on RubyForge.
>
> Project page: http://rubyforge.org/projects/...
> Documentation: http://fastercsv.ruby...
> Downloads: http://rubyforge.org/frs/?gro...
>
> How do I get FasterCSV?
> -----------------------
>
> FasterCSV is a gem, so as long as you have RubyGems installed it's as
> simple as:
>
> $ sudo gem install fastercsv
>
> If you need to install RubyGems, you can download it from:
>
> http://rubyforge.org/frs/?group_id=126&relea...
>
> FasterCSV can also be installed manually. Just download the latest
> release and follow the instructions in INSTALL:
>
> http://rubyforge.org/frs/?gro...&release_id=4758
>
> James Edward Gray II
>
>
>