2012-02-09 10 views
7

Me gustaría ejecutar un generador de una gema cuando se invoca un generador de modelo.Rieles: Enganche en el generador de ORM

La siguiente

require 'rails' 

module Mygenerator 
    class Railtie < Rails::Railtie 

    config.app_generators.orm :my_generator 

    end 
end 

invoca correctamente pero mi generador generador nativo de Rails no se ejecutan más.

Supongo que podría ejecutar el generador nativo a través de invoke, pero eso parece demasiado complejo. ¿Y qué hay de todos los otros generadores del ORM?

¿Hay alguna forma mejor de "conectar" mi generador a uno ya existente?


Actualización:

Esto funciona de forma natural - pero todavía estoy esperando algo más limpio:

module Rails 
    module Generators 
    class ModelGenerator < NamedBase 

     def run_my_custom_generator 
     invoke "my_generator:foo" 
     end 

    end 
    end 
end 

Respuesta

0

¿Qué tal algo como esto

require 'rails' 

class Rails::Generators::ModelGenerator 
    include Mygenerator::full_namespace_here::class 
    extend Mygenerator::full_namespace_here::ClassMethods 
end 
+0

Gracias por la sugerencia - Veré si esto funcionaría en mi contexto. – polarblau

Cuestiones relacionadas