如何在铁路上使用托尔而不是耙子

Ped*_*der 6 thor ruby-on-rails-3

我想在Railtie中提供Thor任务而不是rake任务.在Railties中提供rake脚本有一种直接且有详细记录的方法:

class MyRailtie < Rails::Railtie
  rake_tasks do
    load "path/to/my_railtie.tasks"
  end
end  
Run Code Online (Sandbox Code Playgroud)

我如何为托尔任务做同样的事情?

Jas*_*rip -1

托尔只是普通的红宝石。您所要做的就是确保依赖项位于您的 gemspec 中,然后只需从 gem 的主文件中获取该文件即可。

例子:

您的 gem 的 gemspec 应包含以下行:

gem.add_dependency :thor
Run Code Online (Sandbox Code Playgroud)

然后,在 ./lib/kermit.rb 中包含以下内容:

require 'cli'
Run Code Online (Sandbox Code Playgroud)

然后创建一个名为 ./lib/cli.rb 的文件并将雷神代码放入其中。就像这样:

require 'thor'

class App < Thor
  # Your Code
end
Run Code Online (Sandbox Code Playgroud)