从 ruby gem 加载 rake 任务

Load rake tasks from ruby gem

我正在写一个 gem,我想从我的 rails 应用程序访问 gem rake 任务。为此,我使用 Railties。

我有 lib/frontrockets-rails/railtie.rb

require 'frontrockets-rails'
require 'rails'

module FrontrocketsRails
  class Railtie < Rails::Railtie
    railtie_name :frontrockets

    rake_tasks do
      load 'tasks/frontrockets.rake'
    end
  end  
end

lib/frontrockets-rails.rb

module FrontrocketsRails
  require 'frontrockets-rails/railtie' if defined?(Rails)
end

当然还有lib/tasks/frontrockets.rake

namespace :frontrockets do
  desc 'Create .bowerrc file'
  task :create_bowerrc do
    touch '.bowerrc'
  end

  task :install => [:create_bowerrc] do
  end
end

但是当我在我的 Rails 应用程序中安装此 gem 时,我仍然无法执行此 rake 任务,rake -T 列表中没有它们。

我刚刚重新启动 spring,新的 rake 任务出现在我的 rake -T 列表中。 :)