Ответ 1
Я уверен, что ваши два варианта включают код конфигурации в config/environments/development.rb
или завершают ваш код инициализатора блоком if
. Вы можете затянуть свой второй вариант, сделав if Rails.env.development?
, однако.
Я хотел бы, чтобы код в одном из моих инициализаторов (в config/initializers/
) запускался только для среды :development
, но не :test
или :production
. Какой лучший способ сделать это?
Вставка его в config/environments/test.rb
кажется нечистым, и мне не очень нравится обертывать весь файл инициализатора в инструкции if Rails.env == 'development' do ... end
. Есть ли какой-то канонический способ сделать это?
(Background: Чтобы ускорить время тестовой загрузки, я пытаюсь перенести жемчужину Barista в группу :development
моего Gemfile
, но config/initializers/barista_config.rb
вызывает Barista.configure
, так что теперь он задыхается от этого в тестовый (и производственный) режим.)
Я уверен, что ваши два варианта включают код конфигурации в config/environments/development.rb
или завершают ваш код инициализатора блоком if
. Вы можете затянуть свой второй вариант, сделав if Rails.env.development?
, однако.
Я не знаю, хорошая ли это идея, но это другая идея.
Вы можете создать каталог config/initializers/development
(или config/environments/development/initializers
), поместите свой barista_config.rb
в этот каталог и затем добавьте что-нибудь в этот каталог из config/environments/development.rb
.
Я не знаю, хорошая идея или нет, но это хотя бы третий вариант... на всякий случай вы все еще думаете об этой проблеме через три с половиной года после того, как зададите вопрос.
У Barista есть настройка конфигурации для этого:
Barista.configure do |c|
c.env = :development
end
Это перекомпилирует coffescript в js в режиме dev и ускорит ваши тесты.
Убедитесь, что вы запустили:
rake barista:brew
перед тем, как проверить свой код.