明確にするために、これは私がやろうとしていることではありません:
- カスタム ジェネレーターにデフォルトの Rails ジェネレーターを呼び出させる
- デフォルトの Rails ジェネレーターを自分のものに置き換える
私がしたいことは、呼び出し時にジェネレーターが自動的に呼び出されるようにすることです。
rails generate scaffold User name age:integer
私はテストの置き換えなどを書いているのではなく、完全にカスタムです。そこにあるジェネレーターについて見つけたすべての情報は、最初の 2 つのケースのいずれかを含みますが、私がやりたいことではありません。すぐにhook_for
それがまさに私が必要としていたものだとすぐに思いましたが、逆のことをしているように見えます-カスタムジェネレーターの内部から別のRailsジェネレーターを呼び出します(カスタムジェネレーター用に作成されたテストファイルが必要な場合は、呼び出しますhook_for :test_framework
そして、TestUnit::MyCustomGenerator
どこかにクラスを定義します)。
デフォルトの scaffold ジェネレーターにモンキー パッチを適用して、私のものを呼び出すことができると思いますが、それは汚いと感じます。https://github.com/Skalar/i18n-yaml-generatorのように似たようなことをするいくつかの宝石を調べましたが、それを初期化子を使用するように変換しようとしていて、うまくいきlib/generators
ません。scaffold_generator は実行されますが、私のものは呼び出されません。