如何将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

发布了198 篇原创文章 · 获赞 8 · 访问量 27万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章