Ruport csv exporting failing on trivial dump

Hi guys,
I need to export/import my habtm association to various formats so I
installed ruport.
These are my gems installed (‘bundle install output’), as you can see i
have
all the goodies i need (fastercsv, ruport, ruport-util,
acts_as_reportable):
Using rake (0.8.7)
Using abstract (1.0.0)
Using activesupport (3.0.5)
Using builder (2.1.2)
Using i18n (0.5.0)
Using activemodel (3.0.5)
Using erubis (2.6.6)
Using rack (1.2.2)
Using rack-mount (0.6.14)
Using rack-test (0.5.7)
Using tzinfo (0.3.26)
Using actionpack (3.0.5)
Using mime-types (1.16)
Using polyglot (0.3.1)
Using treetop (1.4.9)
Using mail (2.2.15)
Using actionmailer (3.0.5)
Using arel (2.0.9)
Using activerecord (3.0.5)
Using activeresource (3.0.5)
Using fastercsv (1.5.4)
Using color (1.4.1)
Using hoe (2.9.4)
Using transaction-simple (1.4.0)
Using pdf-writer (1.1.8)
Using ruport (1.6.3)
Using acts_as_reportable (1.1.1)
Using bundler (1.0.15)
Using thor (0.14.6)
Using railties (3.0.5)
Using jquery-rails (1.0.7)
Using mailfactory (1.4.0)
Using rails (3.0.5)
Using rubyzip (0.9.4)
Using ruport-util (0.14.0)
Using sqlite3 (1.3.3)

I’ve added the require “ruport” line in my config/environment.rb file
as
reported here: http://www.rubyreports.org/examples.html#aar.
I’ve added the acts_as_reportable line in my model.
Now, if I fire up my rails console and do “Foo.report_table” the output
is
fine; if I do Foo.report_table.to_html the output is also fine.

If I try Foo.report_table.to_csv i get the following error:

irb(main):002:0> Foo.report_table.to_csv
NoMethodError: undefined method instance' for Ruport::Formatter::CSV:Class from C:/Ruby192/lib/ruby/1.9.1/csv.rb:2324:in CSV’
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/ruport-1.6.3/lib/ruport/formatt
er/csv.rb:59:in `csv_writer’

With Foo.report_table.to_pdf i get:
irb(main):010:0> Link.report_table.to_pdf
SyntaxError:
C:/Ruby192/lib/ruby/gems/1.9.1/gems/pdf-writer-1.1.8/lib/pdf/writer
.rb:712: invalid multibyte char (US-ASCII)
C:/Ruby192/lib/ruby/gems/1.9.1/gems/pdf-writer-1.1.8/lib/pdf/writer.rb:712:
inva
lid multibyte char (US-ASCII)
C:/Ruby192/lib/ruby/gems/1.9.1/gems/pdf-writer-1.1.8/lib/pdf/writer.rb:712:
synt
ax error, unexpected $end, expecting keyword_end
content = “%PDF-#{@version}\n%├ó├ú├Å├ô\n”

So, my questions are:

  1. What’s wrong with my .to_csv call? Maybe something about my
    application
    configuration?
  2. Can you do that call simply with editing you environment.rb file
    like
    reported above and with the acts_as_reportable directive in your model?
  3. Is Ruport the best solution for my export/import csv target
    objective or
    maybe there’s a better gem? (I might have much more complex reports in
    future, so i would like a ‘multi-format’ gem)

Working on Rails version 3.0.5.

Thank you for your time,

Federico

Hi Federico,

Ruport is not currently Ruby 1.9.2 compatible, sorry. I started
working on making it so two days ago and am still working on getting
the test suite running.

You’ll find the Google Group for Ruport at
http://groups.google.com/group/ruby-reports
and the main repository at https://github.com/ruport/ruport. You’ll
find a quick fix for the CSV issue at
CSV / FCSV issue by andersonbrandon · Pull Request #7 · ruport/ruport · GitHub.
PDF Writer seems to have more issues, there is some work in forks that
I might be able to merge.

As none of this is a Rails issue, it seems appropriate to switch to
the Ruport group to continue this conversation and I have cc’ed it
(hopefully).

Regards,
Andrew

Thanks for your reply Andrew. Your answer saved me from googling a
little
bit more.
I’ll have a look to the quick fix.
If you need more details let me know.

Thanks

On Sun, Jun 12, 2011 at 11:14 PM, Andrew F.