Forum: Ruby where to place class files?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Nathan T. (Guest)
on 2007-06-21 00:44
(Received via mailing list)
I wrote my own class definition and placed it inside a file called
mynewclass.rb.  I then placed this file inside
/usr/local/lib/ruby/1.8/mynewclass/.

The mynewclass.rb file has

require 'rubygems'
require 'uuidtools'
require 'xml_struct'

inside of it.

When I create a new ruby script and use

require 'mynewclass/mynewclass'

I get a load error from custom_require.rb saying there is no such file
to
load for uuidtools and xml_struct, however if I launch irb and do a
require
'mynewclass/mynewclass' I can use the class just fine with no load
errors.

Is there a different method I should use to go about this the correct,
and
hopefully functional way?

- Nathan
Axel E. (Guest)
on 2007-06-21 13:10
(Received via mailing list)
Dear Nathan,

in what directory did you save the new script ?

Assuming that it is saved as /home/nathan/new_script.rb,

if you write

require "mynewclass/mynewclass"

into it, the error message you get is due to the fact that
you don't have a /home/nathan/mynewclass subdirectory
 with a mynewclass.rb file in it.
So you could give the full pathname, or save the mynewclass.rb
script in the same directory as  new_script.rb .

Alternatively, you could set additional environment variables
for ruby:

http://www.rubycentral.com/book/rubyworld.html

It sounds to me that you get this error because you expect
Ruby to behave like Java ... right?

If so, could you help me on a Ruby/Java problem for which
I got no response so far ?

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/...

Thank you very much!

Best regards,

Axel
Nathan T. (Guest)
on 2007-06-21 18:29
(Received via mailing list)
The new_script.rb is saved in my home directory, however the
mynewclass.rbfile is saved in the site_ruby directory that is
recommended for placing end
user created modules and extensions to ruby.  I dont' have a problem
with
new_script.rb being able to load mynewclass.rb.  The problem is that
inside
of mynewclass.rb it also requires a few ruby gems, and those ruby gems
are
what I am getting load errors for.  The gems and mynewclass.rb are both
in
directories included in the default ruby load path, which is why I am
quite
confused at the errors generated.

Sorry, I wish I could help,  but I have never coded in Java!  I have
some
limited knowledge of web apps implemented in Java and I believe you have
to
download the required libraries, place them in a lib directory, and then
some how you should be able to create a configuration file that points
to
the libraries.  Have only seen implementations for servlet and jsp code
though, so I'm not sure how that all works with a normal Java
application.
This topic is locked and can not be replied to.