¿Cómo paso processor_pool al método dentro del módulo?
class Dummy def initialize processor_pool = Concurrent::FixedThreadPool.new(10) @threadpool = Module.new do extend Concurrent::Promises::FactoryMethods def self.default_executor return processor_pool # this cannot find the processor_pool variable end end end end Recibo el mismo error incluso si lo convierto en una variable de instancia como @processor_pool
Algo como esto (simplifiqué un poco tu clase para deshacerme de las dependencias por el bien del ejemplo, pero su estructura es la misma):
class Dummy attr_reader :threadpool def initialize processor_pool = "It works" @threadpool = Module.new do define_method :default_executor do return processor_pool # this cannot find the processor_pool variable end module_function :default_executor end end end Dummy.new.threadpool.default_executor # => "It works"