アプリの一部をGemに抽出しています。これには、いくつかの新しいActiveRecordモデルの作成が含まれます。現時点では、これらのモデルは次のようになっています。
Class Wordcount < ActiveRecord::Base
belongs_to :keyword
belongs_to :article
end
Class Keyword < ActiveRecord::Base
has_many :wordcounts
has_many :articles, :through => :wordcounts
end
Article
gemは、このコードが由来する既存のRailsアプリで 定義されたモデルだけでなく、文字列またはテキストフィールドを持つActiveRecordモデルにフックします。
宝石の機能が適用されているモデルに基づいて、関連するARアソシエーションを生成するには、何をする必要がありますか?私は最終的に次のようになることを望んでいます:
has_my_gem_functionality :on => [:field1, :field2, ...]
そして残りは宝石の中に安全にカプセル化されます。
移行もメタプログラミングする必要があると思います。私がやろうとしていることは比較的単純だと思います。それは私の快適ゾーンから少し離れすぎています。