Куда я должен поместить свой собственный “модуль” в рамках приложения направляющих?

Ваш пример не запускает ssh вообще, по крайней мере, не с моей версией БРОДЯГИ ("2.1.13 - пред"). И находить-файл и сохранять-буфер работают отлично.

8
задан P Shved 7 December 2009 в 22:38
поделиться

3 ответа

Место для размещения повторно используемого кода, такого как этот, находится в каталоге 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
6
ответ дан 5 December 2019 в 17:38
поделиться

В проектах RoR есть каталог lib , который хорошо подходит для этой цели - я помещаю туда общие фрагменты кода в виде «библиотек». Все, что угодно, от расширения классов ActiveRecord до повторно используемых служебных методов.

2
ответ дан 5 December 2019 в 17:38
поделиться

Я часто помещаю что-то в lib , оказывается, что все, что находится под lib, находится в пути загрузки, а не t должен быть требовать d.

редактировать: После комментария Стива удален бит о необходимости требовать файлы. Кроме того, для удаления пары из моего кода требуется: P

2
ответ дан 5 December 2019 в 17:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: