2013-03-07 42 views
0

我需要將EventMachine::Deferrable包含到Faraday::Response中,但前提是隻有在反應堆循環運行時創建響應。我知道我可以將一個模塊包含到響應對象中而不是類中,但在我的情況下,由於上下文代碼的寫入方式,我無法做到這一點。如何在我的方法內部修補模塊

我有一個在循環運行時調用的方法,也許我可以在那裏做到這一點?下面的代碼不起作用,因爲它只是在方法的名稱空間中創建一個新類。

def f 
    module Faraday 
    class Response 
     include EventMachine::Deferrable 
    end 
    end 
    ... 
end 

從語言專家的任何意見?

回答

0

這裏是我如何做到目前爲止。有沒有更好的辦法?

module Faraday 
    class Response 
    alias :initialize_old :initialize 
    def initialize env=nil 
     initialize_old env 
     extend EventMachine::Deferrable if EventMachine.reactor_running? 
    end 
    end 
end 
相關問題