Steps to reproduce:
1) create a fresh 2.3.5 rails project
2) use bundler with it
3) add in the vlad and resque gems
4) QUEUE=* rake resque:work
resque will get a stack overflow, it happens because it has a method called "get" and vlad has the following
code:
def export receiver, *methods
methods.each do |method|
eval "def #{method} *args, █ #{receiver}.#{method}(*args, &block);end"
end
end
export "Thread.current[:task]", :get, :put, :rsync, :run, :sudo, :target_host
i would imagine get, put and run to be very common methods in the ruby world, i don't believe it is a good idea to be
evaling that code.
namespacing the methods would be advantageous. |