Можно подать заявку , атрибут ConditionalAttribute, со строкой "ОТЛАДКА" к любому методу и вызовы к тому объекту будет только присутствовать в сборках ОТЛАДКИ.
Это отличается от использования подхода #ifdef, поскольку это позволяет Вам выпускать методы для использования другими людьми в их Настройках отладочного процесса (как методы класса Отладки в платформе.NET).
А также есть guard :
Guard автоматизирует различные задачи, выполняя пользовательские правила всякий раз, когда файл или каталог изменяются.
Он часто используется разработчиками программного обеспечения, веб-дизайнерами, писателями и другими специалистами, чтобы избежать обыденных, повторяющихся действий и команд, таких как «перезапуск» инструментов после изменения исходных файлов или конфигураций.
Типичные случаи использования: замена IDE, инструменты веб-разработки, проектирование «умных» и «отзывчивых» систем / рабочих процессов сборки, автоматизация различных задач проекта и установка / мониторинг различных системных служб ...
Есть также крошечный рубчик. Драгоценный камень не имеет зависимостей, не содержит кода для конкретной платформы и просто обнаруживает обновления, дополнения и добавления по опросу.
require 'filewatcher'
FileWatcher.new(["directory"]).watch() do |filename, event|
if(event == :changed)
puts "File updated: " + filename
end
if(event == :delete)
puts "File deleted: " + filename
end
if(event == :new)
puts "Added file: " + filename
end
end