2012-02-09 17 views
7

Model jeneratörü çalıştırıldığında bir gemiden bir jeneratör çalıştırmak istiyorum. Raylar: ORM jeneratörüne takılması

require 'rails' 

module Mygenerator 
    class Railtie < Rails::Railtie 

    config.app_generators.orm :my_generator 

    end 
end 

aşağıdaki düzgün Jeneratörümü çağırır fakat Rails'in yerli jeneratör artık çalıştırılmaz.

Yerel jeneratörü invoke üzerinden çalıştırabildiğimi sanıyorum, ancak bu çok karmaşık görünüyor. Peki ya ORM'nin diğer tüm jeneratörleri?

Jeneratörümü var olana "eklemek" için daha iyi bir yol var mı?


Güncelleme:

Bu doğal olarak çalışır - ama yine de daha temiz bir şey için umut ediyorum:

module Rails 
    module Generators 
    class ModelGenerator < NamedBase 

     def run_my_custom_generator 
     invoke "my_generator:foo" 
     end 

    end 
    end 
end 

cevap

0

Nasıl bu

require 'rails' 

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

teşekkür böyle bir şey hakkında öneri - Bunun içeriğimde işe yarayıp yaramayacağını göreceğim. – polarblau