tabularasa gem

This simple gem gives you the ability to convert an array of activerecords, hashes, and/or arrays to tabular data.

Usage

@users = User.all

#
# defaults are export headers and all fields
#

@users.to_csv
@users.to_csv(:only => [:last_name, :role]) # This will also set the order
@users.to_csv(:delimiter => ';') # This will set the delimiter between values in a row
@users.to_csv(:headers => ["Last Name", "Role"])
@users.to_csv(:except => [:last_name, :role])

Real life example

class UserController < ApplicationController
def index
  @users = User.all

  respond_to do |format|
    format.html
    format.xml { render :xml => @users }
    format.csv { send_data @users.to_csv }
  end
end
end

Dependencies

ruby >= 1.9
* activerecord
ruby < 1.9
* activerecord
* fastercsv

Install

gem install tabularasa

Contributors

  • Chris Rosario

Copyright (c) 2011 Chris Rosario, released under the MIT license