I put all source in to lib/ path, and named a lib/foo path for my foo
project. However, is there a better approach to require the ruby
source which in lib/foo/ from the file in the same path.
For example, lib/foo/db.rb require lib/foo/configure.rb, currently I
write:
require “#{File.dirname(FILE)}/…/configure”
But it is a ugly way to require other files. Would anyone explain a
more “standard” approach to do it?
On (2008-04-12 02:35 +0900), Eddy Xu wrote:
require “#{File.dirname(FILE)}/…/configure”
But it is a ugly way to require other files. Would anyone explain a
more “standard” approach to do it?
Push path to $:?
On Apr 11, 1:32 pm, Eddy Xu [email protected] wrote:
I put all source in to lib/ path, and named a lib/foo path for my foo
project. However, is there a better approach to require the ruby
source which in lib/foo/ from the file in the same path.
For example, lib/foo/db.rb require lib/foo/configure.rb, currently I
write:
require “#{File.dirname(FILE)}/…/configure”
But it is a ugly way to require other files. Would anyone explain a
more “standard” approach to do it?
The default load path includes ‘.’, so if the file is in the same
directory it should be found.
HAve a look at “Where Ruby Finds Its Modules” section of
http://www.ruby-doc.org/docs/ProgrammingRuby/html/rubyworld.html
Despite its age I don;t think the current version of ruby differes
Cheers
On (2008-04-12 02:50 +0900), Eddy Xu wrote:
push it in every file or in the root file such as bin/foo.rb? if in
that case, it is impossible to run single source file property,
right?
Sorry, I misunderstood it as ad’hoc requirement. If it’s always
like that in your system, perhaps set environment
variable RUBYLIB? Or even recompile ruby?
push it in every file or in the root file such as bin/foo.rb? if in
that case, it is impossible to run single source file property,
right?
Thank you all.
I write require “foo/bar” and it works fine.