Некоторые возможности:
- избегайте вызова
require 'monitor.rb'
, который вызывает стандартный экземпляр монитора
- выполнить магию во время выполнения, чтобы переименовать существующий класс Monitor.
- Обезьяна с вашим путем загрузки, так что
require 'monitor.rb'
извлекает пустую реализацию Monitor.
Но во всех случаях вы можете столкнуться с ситуацией, когда сторонняя библиотека использует Monitor, ожидая, что это будет стандартный класс Monitor. Итак, я бы посоветовал против любого из вышеперечисленного.
Я бы сказал, что у вас есть только два разумных варианта:
A) вы можете поместить свой класс в пространство имен:
Module MyApp
class Monitor
#...
end
end
если ваше приложение использует какую-то магию с автоматическим требованием (например, это приложение rails), то вы должны поместить свою реализацию в /my_app/monitor.rb Если вы хотите сослаться на этот класс, вы будете делать что-то вроде my_monitor = MyApp::Monitor.new()
или что-то еще.
B) вы можете использовать другое имя класса:)