Como determinar se o Rails está sendo executado a partir do CLI, console ou como servidor?

eu tenho ummiddleware para anunciar meu aplicativo no aplicativo de rede local usando o Bonjour, mas também está anunciando o serviço quando o Rails é invocado a partir do rake ou do console.

Gostaria de excluir esses casos e usar apenas o middleware do Bonjour quando o Rails estiver sendo executado como um servidor.

A configuração do middleware aceita um proc para excluir middlewares sob certas condições usando umproc:

config.middleware.insert_before ActionDispatch::Static, Rack::SSL, :exclude => proc { |env| 
  env['HTTPS'] != 'on' 
}

Mas como eu determino se o Rails foi invocado da CLI, console ou como servidor?

questionAnswers(7)

yourAnswerToTheQuestion