What's the right way to require a file?

I’m having a problem importing a class from another project (not a RoR
application). What’s the right way to require such a file?

I have a class ModelPathwayObject. It’s in
#{RAILS_ROOT}/…/lib/model_pathway_object.rb , so I add that path to
config.load_paths. In config/environment.rb:

Rails::Initializer.run do |config|
config.load_paths += %W( #{RAILS_ROOT}/…/lib )
end

I then tried to require the file from config/environment.rb by appending
require ‘model_pathway_object’

With these changes WEBrick wouldn’t start:
[luca@zirellu pa_web] ./script/server
=> Booting WEBrick…
[luca@zirellu pa_web]

So I moved the require to the top of my controller’s file. Now WEBrick
starts, but the first time I place a request to the controller I get an
error
(Gem::LoadError in #, trace at the
bottom
of this message), but afterwards it works fine.

I figure I’m doing something wrong, otherwise the thing would work from
the
first request. Can someone tell me what the right way to do this is?
Thanks
in advance.

Luca

=============================
Trace on first request to controller:

Gem::LoadError in #

Could not find RubyGem gnuplot (> 0.0.0)

RAILS_ROOT: script/…/config/…

/usr/local/lib/site_ruby/1.8/rubygems.rb:194:in report_activate_error' /usr/local/lib/site_ruby/1.8/rubygems.rb:136:inactivate’
/usr/local/lib/site_ruby/1.8/rubygems.rb:37:in
require_gem_with_options' /usr/local/lib/site_ruby/1.8/rubygems.rb:31:inrequire_gem’
./script/…/config/…/…/lib/plot_utils.rb:2
./script/…/config/…/…/lib/predictor_classes.rb:9
./script/…/config/…/lib/model_pathway_object.rb:6
./script/…/config/…/app/controllers/model_pathway_controller.rb:1
routing.rb:234:in traverse_to_controller' generated/routing/recognition.rb:7:ineval’
generated/routing/recognition.rb:7:in `recognize_path’

This error occured while loading the following files:
script/…/config/…/app/controllers/model_pathway_controller.rb
model_pathway_object
predictor_classes
plot_utils

From what I understand, all the files in lib are automatically loaded, you
don’t need to require them specifically. The load path that you see,
scans
the entire directory for rb files and includes them.

Try removing the require, and simply just use the model_pathway_object
within your app.

-Nb

 Nathaniel S. H. Brown                           http://nshb.net

On Thursday 19 January 2006 17:08, Nathaniel S. H. Brown wrote:

Nathaniel S. H. Brown http://nshb.net

You’re right. Thanks for the tip. The file is required automatically.

Luca