如何在我的gem生成器中使用hook_for:devise_install

时间:2012-01-17 13:33:48

标签: ruby-on-rails-3 devise hook generator

当我运行gem的InstallGenerator时,我正在尝试安装Devise。

这就是我为此所做的:

module Baco
  module Generators
    class InstallGenerator < Rails::Generators::Base

      hook_for :devise_install

    end
  end
end

但它不起作用,我真的不知道应该如何让它起作用..

我试图搜索它,但文档没有帮助我,我找不到任何教程。我只看到hook_for用于在生成器中使用生成器。

也许我根本不是正确的方向,如果是这样,请指出我正确的方向..

由于

1 个答案:

答案 0 :(得分:2)

经过一番搜索,我偶然发现了一个名为&#34; ActiveAdmin&#34;的宝石,它完全符合我的要求。经过一些挖掘,我发现我需要的不是hook_for,而是invoke ..

这就是我的问题:

def install_devise

  require 'devise'

  if File.exists?(File.join(destination_root, "config", "initializers", "devise.rb"))
    log :generate, "No need to install devise, already done."
  else
    log :generate, "devise:install"
    invoke "devise:install"
  end

end