如何检测是否使用rake指定了--quiet选项

时间:2012-02-29 06:45:16

标签: ruby rake

如何检测是否使用rake指定了--quiet选项。

意图是根据类别过滤自定义消息。

class Category
  INFO = 1
  WARNING = 2
  ERROR = 3
end

@trace = true

task :silent do
  @trace = false
end

def trace(msg, category=Category::INFO)
  return if (@trace == nil)
  return if ((@trace == false) && (category == Category::INFO))
  puts msg
end

在这种情况下,如果指定了--quiet选项,我想再添加一个案例来过滤掉跟踪。

2 个答案:

答案 0 :(得分:6)

Rake.verbose提供检查是否指定了--quiet模式的选项

按照简单的rake文件生成像这样的输出 $ rake --quiet 假

$ rake default

task :default do
  puts Rake.verbose
end

也可以使用Rake.verbose覆盖rakefile中的设置(true | false)

答案 1 :(得分:1)

看起来你至少可以在rake-10.0.4中调用方法verbose

完成任务:

task :default do
  puts verbose
end

我明白了:

$ rake --silent
false
$ rake --quiet
false
$ rake --verbose
true
相关问题