我有一个有点重量的插件.(Bullet,配置了Growl通知.)如果我只是运行rake任务或生成器,我不想启用它,因为它在这些情况下没用.有没有办法判断是否是这种情况?
小智 35
就这么简单:
if $rails_rake_task
puts 'Guess what, I`m running from Rake'
else
puts 'No; this is not a Rake task'
end
Run Code Online (Sandbox Code Playgroud)
而不是$rails_rake_task,使用:
File.basename($0) == 'rake'
Run Code Online (Sandbox Code Playgroud)
我更喜欢NickMervin的答案,因为它不依赖于Rake的内部实现(例如关于Rake的全局变量).
这甚至更好 - 不需要正则表达式
File.split($0).last == 'rake'
Run Code Online (Sandbox Code Playgroud)
需要File.split(),因为有人可以从rake它的完整路径开始,例如:
/usr/local/bin/rake taskname
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6026 次 |
| 最近记录: |