如何在Thor方法中检索当前命令名称?

时间:2013-10-24 14:07:54

标签: ruby thor

我有几个相互依赖的Thor任务。我想访问当前正在运行的名称,以便我可以在记录器消息中使用它。

我可以使用self对象来查找任务名称,但这是一个Thor::Sandbox::MyClass对象,并且该信息位置很深。有人知道吸气剂吗?类似的东西:

class MyCLI < Thor
  def hello
    puts "hello, I am the task #{self.taskname}"
  end
end

1 个答案:

答案 0 :(得分:0)

可能会有效:

def fun
 puts __method__
end

fun
#=> :fun

同时查看caller方法。它将当前执行堆栈作为字符串返回。