PDF::Writer and rubygems

Good morning,

I am trying to use the pdf-writer ruby gem via NetBeans, but I’m having
trouble doing it. If I run the ‘hello.rb’ demo program without updating
it to use rubygems, I get the following error:

/home/wpwood/Desktop/pdf_writer-1.1.8/demo/hello.rb:16:in `require’: no
such file to load – pdf/writer (LoadError)
from /home/wpwood/Desktop/pdf_writer-1.1.8/demo/hello.rb:16

I then update it to use rubygems by changing the ‘require’ section of
the code to:

require ‘rubygems’
gem ‘pdf-writer’

but when I do that, I get an error:

/home/wpwood/Desktop/pdf_writer-1.1.8/demo/hello.rb:14: uninitialized
constant PDF (NameError)

on the line:

pdf = PDF::Writer.new

I’m fairly new to Ruby, and new to trying to use gems directly, and it’s
certainly possible that I’m doing something wrong. So, can anyone tell
me what I’m doing wrong?

Thanks,

  • Bill

On Wed, May 14, 2008 at 12:47 PM, Bill W. [email protected]
wrote:

on the line:

pdf = PDF::Writer.new

I’m fairly new to Ruby, and new to trying to use gems directly, and it’s
certainly possible that I’m doing something wrong. So, can anyone tell
me what I’m doing wrong?

You were close. You need to say:

require 'rubygems'

to load the RubyGems runtime support, then:

gem 'pdf-writer'

to activate that gem, and finally,

require 'pdf/writer'

to require that specific module (for the PDF::Writer class definition).

Hope this helps,

Lyle

Lyle J. wrote:

You were close. You need to say:

require 'rubygems'

to load the RubyGems runtime support, then:

gem 'pdf-writer'

to activate that gem, and finally,

require 'pdf/writer'

to require that specific module (for the PDF::Writer class definition).

Hope this helps,

Lyle

Gotcha, thanks. I was under the impression that ‘gem’ would also
‘require’ the module. Is that the difference between this and the old
‘require_gem’?

  • Bill

On Wed, May 14, 2008 at 1:30 PM, Bill W. [email protected] wrote:

Gotcha, thanks. I was under the impression that ‘gem’ would also
‘require’ the module. Is that the difference between this and the old
‘require_gem’?

Yes. The ‘gem’ method just adds the gem’s files to Ruby’s LOAD_PATH,
but it doesn’t actually ‘require’ (load) any code into the
interpreter.