在rake任务中的辅助函数中,如何访问该任务的名称?

时间:2015-05-13 02:02:36

标签: rake rake-task rakefile

我有一个rake任务,为我的Web应用程序播种数据。我有两个rake任务:“production_data”和“demo_data”。我还有一个名为create_admin_login的函数。我想在create_admin_login中放置一个条件开关,以查看哪个任务正在调用它并播种相应的电子邮件值。

我无法弄清楚如何知道调用:task的内容。我该怎么做呢? (我也意识到这可能不是编写rake文件的正确方法......我应该有一个名为create_demo_admin_login的单独函数吗?这不是很干。)

1 个答案:

答案 0 :(得分:0)

不知道在这段时间之后它是否会有所帮助,但是对于其他人来说,他们会来这里搜索。

如何知道哪个任务正在调用create_admin_login(或换句话说 - 如何知道在rake中执行/调用的任务):

  def create_admin_login
    foo = Rake.application.top_level_tasks.join(', ')
    if /production_data/ =~ foo
    # or exclude .join(', ') and make if statement with: foo.include?('production_data')
      # seed one data
    else
      # seed other data
    end
  end