所以我正在写一个小宝石,我有一个'/ tasks'目录,里面有一些特定的rake任务.如何在需要宝石的地方自动提供这些任务?例如,我希望在安装gem之后可以在rails root目录中运行'rake mygemrake:task'.
kel*_*unn 23
对于Rails3应用程序,您可能希望研究为您的gem制作Railtie.
您可以这样做:
LIB/your_gem/railtie.rb
require 'your_gem'
require 'rails'
module YourGem
class Railtie < Rails::Railtie
rake_tasks do
require 'path/to/rake.task'
end
end
end
Run Code Online (Sandbox Code Playgroud)
LIB/your_gem.rb
module YourGem
require "lib/your_gem/railtie" if defined?(Rails)
end
Run Code Online (Sandbox Code Playgroud)
虽然,我有一些困难,要求rake.task
我的文件railtie.rb
.我选择在rake_tasks
块中定义我的一个或两个任务.
查看rake 中的rdoctask,了解如何定义 gem 提供的任务的示例。该任务是用 ruby 而不是 rake 构建语言定义的,并且可以像这样要求:
require 'rake' # the gem
require 'rake/rdoctask' # the task
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8739 次 |
最近记录: |