Ваш пример не запускает ssh вообще, по крайней мере, не с моей версией БРОДЯГИ ("2.1.13 - пред"). И находить-файл и сохранять-буфер работают отлично.
Место для размещения повторно используемого кода, такого как этот, находится в каталоге lib
. Однако вам не нужно требовать
чего-либо, поскольку lib
уже находится в пути загрузки, и его содержимое будет загружено во время инициализации.
Если вам нужно расширить существующий класс, вы сначала определите свой модуль, а затем включите его, отправив его как сообщение классу, который вы хотите расширить, например,
module MyExtensions
def self.included base
base.instance_eval do
def my_new_method
…
end
end
end
end
ActiveRecord::Base.send :include, MyExtensions
В проектах RoR есть каталог lib , который хорошо подходит для этой цели - я помещаю туда общие фрагменты кода в виде «библиотек». Все, что угодно, от расширения классов ActiveRecord до повторно используемых служебных методов.
Я часто помещаю что-то в lib
, оказывается, что все, что находится под lib, находится в пути загрузки, а не t должен быть требовать
d.
редактировать: После комментария Стива удален бит о необходимости требовать файлы. Кроме того, для удаления пары из моего кода требуется: P