Ответ 1
Есть файл с именем config/initializers/inflections.rb
.
Добавить в него
ActiveSupport::Inflector.inflections do |inflect|
inflect.acronym 'API'
end
и пространство имен API будет доступно в виде каталога с именем api
У меня есть некоторая структура
dokuwiki.rb
require 'dokuwiki/exception.rb'
module Dokuwiki
...
DokuWiki/API/connection.rb
module Dokuwiki
module API
class Connection
...
Теперь, когда я пытаюсь вызвать Dokuwiki::API::Connection.new
из контроллера (без каких-либо require
), автозагрузка Rails по умолчанию не выполняется. Я считаю, что это потому, что модуль ::API
должен иметь папку с именем /a_p_i/
вместо /api/
, но это уродливо.
Конечно, я мог бы потребовать "dokuwiki/api/connection.rb" в основном файле "/lib/dokuwiki.rb", но тогда он не перезапустит этот класс автоматически (что вызывает раздражение в контексте dev )
Что я могу сделать, чтобы сохранить красивое имя папки /api/
и выполнить некоторые изменения в реальном времени до /lib/dokuwiki/api/connection.rb
без перезагрузки моего сервера?
Есть файл с именем config/initializers/inflections.rb
.
Добавить в него
ActiveSupport::Inflector.inflections do |inflect|
inflect.acronym 'API'
end
и пространство имен API будет доступно в виде каталога с именем api