Detect if required or executed?

Hi all,

Is anyone aware of a way to detect if a file has been required from
another ruby process, or is being executed from the commandline? I’ve
been doing this hack:

do_executable_behavior unless ENV[‘DONT_RUN’]

but that’s clearly not ideal. I though maybe I could add something to
the bangline? But that wouldn’t help if someone runs the script
indirectly with “ruby script.rb”. Something like Module.included would
be great if there was a “required” method, I could just set a DONT_RUN
variable there.

Thanks,
Ian

I. E. Smith-Heisters wrote:

indirectly with “ruby script.rb”. Something like Module.included would
be great if there was a “required” method, I could just set a DONT_RUN
variable there.

Thanks,
Ian

There was a good discussion recently about making sure only one instance
of a script is running, maybe that helps:

http://groups.google.com/group/ruby-talk-google/browse_thread/thread/b658d9b0dbfd59f8

On Jun 17, 2008, at 11:59 AM, I. E. Smith-Heisters wrote:

Is anyone aware of a way to detect if a file has been required from
another ruby process, or is being executed from the commandline? I’ve
been doing this hack:

executed = FILE == $0
required = not executed

a @ http://codeforpeople.com/

On Jun 17, 11:07 am, “ara.t.howard” [email protected] wrote:


we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama

clever, thanks!

Joel VanderWerf wrote:

There was a good discussion recently about making sure only one instance
of a script is running, maybe that helps:

http://groups.google.com/group/ruby-talk-google/browse_thread/thread/b658d9b0dbfd59f8

Oops, I think Ara answered the right question…