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:

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

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

···

--
       vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

executed = __FILE__ == $0
required = not executed

a @ http://codeforpeople.com/

···

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:

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

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...

···

--
       vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

clever, thanks!

···

On Jun 17, 11:07 am, "ara.t.howard" <ara.t.how...@gmail.com> wrote:

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/
--
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama