2017-02-23 2 views
0
module Cequel 
    module Record 

    module Schema 
     extend ActiveSupport::Concern 
     extend Util::Forwardable 

     included do 
     class_attribute :table_name, instance_writer: false 
     self.table_name = name.demodulize.tableize.to_sym unless name.nil? || self.table_name.present? 
     end 
    end 
    end 
end 

にモジュール内のブロックをパッチ私は猿が私のRailsアプリケーションでは、このモジュールからincludedブロックにパッチを適用したいと思いますが、私はレールに初期化子で同じコードを定義するとき、私はサルはルビー

included': Cannot define multiple 'included' blocks for a Concern (ActiveSupport::Concern::MultipleIncludedBlocks)

を取得します

ThisこのPRがマージされるまで、私はパッチで修正したいものです。含まれているブロックにパッチを当てる方法はありますか?

+1

あなたのPRがマージされているので、あなたの宝石をマスタリングするだけです... – Anthony

答えて

1

イニシャライザで最初から開始する必要があります。それはあなたが今、あなたはあなたが望むようSchemaを定義し、スニペットを再実行することができます

Cequel::Record.send :remove_const, :Schema 

で完全にモジュールの定数定義を削除する必要があり、言った:Rubyはもうそれについて何も知りません。