Это можно сделать, используя File.mtime
и сравнивая временную метку последнего времени для lib.rb.
В своем коде, получить mtime
при первой загрузке файла:
last_mtime = File.mtime('lib.rb')
load 'lib.rb'
Позже, в цикле, как вы обрабатываете, проверьте еще раз, чтобы увидеть, если время модификации изменилось, и перезагрузка в случае необходимости:
current_mtime = File.mtime('lib.rb')
if (current_mtime != last_mtime)
last_mtime = current_mtime
load 'lib.rb'
end
Я использовал подобную технику в прошлом, и она хорошо работала. Я установил мой, так что он проверяется только каждые пять минут, но ваши потребности могут быть разными.