0

我需要包含EventMachine::Deferrable在 to 中Faraday::Response,但前提是在反应器循环运行时创建响应。我知道我可以在响应对象而不是类中包含一个模块,但在我的情况下,由于上下文代码的编写方式,我不能这样做。

我有一个在循环运行时调用的方法,也许我可以在那里做?下面的代码不起作用,因为它只是在方法的命名空间中创建了一个新类。

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

语言专家有什么建议吗?

4

1 回答 1

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
于 2013-03-07T19:47:46.680 回答