如何将Gem中的rake任务导入Rails Project中

Rails3中,可以使用Railtie的方式,将rake 任务 放到 Rails 项目中

lib/your_gem/railtie.rb

require 'your_gem'
require 'rails'
module YourGem
  class Railtie < Rails::Railtie
    rake_tasks do
      load 'path/to/rake.rake'
    end
  end
end

然后在 lib/your_gem.rb文件中
require "lib/your_gem/railtie" if defined?(Rails)

task一般放在 lib/tasks/xxx.tasks下

http://edgeapi.rubyonrails.org/classes/Rails/Railtie.html
http://stackoverflow.com/questions/742633/make-rake-task-from-gem-available-everywhere
可以参考的gem
https://github.com/chucai/xmpp_server

你可能感兴趣的:(如何将Gem中的rake任务导入Rails Project中)