I've got a plugin that is a bit heavy-weight. (Bullet, configured with Growl notifications.) I'd like to not enable it if I'm just running a rake task or a generator, since it's not useful in those situations. Is there any way to tell if that's the case?
A:
It appears that running rake
will define a global variable $rakefile
, but in my case it gets set to nil
; so you're better off just checking if $rakefile
has been defined... seeing as __FILE__
and $FILENAME
don't get defined to anything special.
$ cat test.rb
puts(global_variables.include? "$rakefile")
puts __FILE__
puts $FILENAME
$ cat Rakefile
task :default do
load 'test.rb'
end
$ ruby test.rb
false
test.rb
-
$ rake
(in /tmp)
true
./test.rb
-
Not sure about script/generator, though.
Mark Rushakoff
2010-03-18 02:43:41