I have a single ruby file, consisting of a class definition, and some
code outside the class. Our tech lead wants this keep all this in a
single file. I also have a unit test in a seperate ruby file which tests
the class. The problem is that I want the unit test to load only the
class without executing the code outside the class, which I can’t do
with ‘require’ or ‘load’.
Is there any way in Ruby to load only a single class from another file.
On Fri, May 16, 2008 at 12:30 PM, Abhishek R. [email protected]
wrote:
Is there any way in Ruby to load only a single class from another file.
No.
If you only want the external code the be executed when the file is
run as an executable, and not when it is loaded by another file, you
can enclose that code in a conditional, thus:
if $0 == FILE
# … code to execute when run as an executable …
end
I haven’t tested the above code. You might need to alter it to make
it more robust, along the lines of:
if File.expand_path($0) == File.expand_path(FILE)
# …
end