Entendendo o processo de Inicialização do Rails: Parte 2
Posted on January 25, 2007
Fonte: techno weenie
Configurando seu Ambiente (Environment)
Em cada aplicação Rails existem várias coisas para configurar. Você pode precisar configurar um endereço de e-mail que o plugin exception_notification usa, ou talvez apenas inflexões customizadas. Vamos dar uma olhada nas opções disponíveis atualmente à nossa disposição:
Environment.rb
Use isso para coisas gerais do framework Rails, como inflexões customizadas. Nesse ponto, seus plugins não foram carregadas, então não use isso para acessar seus controllers ou models que podem estar dependendo de código em plugins. Também, cada ambiente deixa definir opções de configuração específicas de ambiente no config/environments/
O Gancho Pós-Inicialização
Existe uma tarefa pouco conhecida after_initialization que roda bem no fim do processo de inicialização. Você pode ou definir no bloco em Rails::Initialization no config/environment.rb ou em qualquer lugar nos arquivos específicos de ambiente mencionados acima.
config.after_initialize do
PaymentProcessor.gateway = :bogus
end
# config/environments/production.rb
config.after_intialize do
PaymentProcessor.gateway = :whatever
end
Um fato importante a se lembrar aqui é que você só pode ter um bloco de after_initialization. A ordem de precedência é config/environment.rb => config/environments/RAILS_ENV.rb => plugins. Provavelmente não é uma boa prática definir blocos after_initialization em seus plugins já que isso vai bagunçar qualquer configuração de aplicação que o desenvolvedor tentar fazer. Sua melhor aposta é definir isso em seus arquivos de configuração específicos de ambiente.
Callbacks de Preparação de Dispatcher
Callbacks de preparação são blocos executados antes do Dispatcher manipular qualquer requisição Rails. Eles são executados apenas uma vez em produção e antes de cada requisição em modo de desenvolvimento. Um uso comum que tenho para eles é ter certeza que Liquid usa meus filtros e derruba entre requisições de desenvolvimento. Rails usa um internamente para garantir que seus observers estão sempre carregados também.
A ser concluído
Fiquem ligados para o artigo final dessa pequena trilogia, explicando mudanças no processo de inicialização de plugins em mais detalhes.
blog comments powered by Disqus
Archives
- February 12(2)
- December 11(1)
- November 11(4)
- October 11(6)
- September 11(5)
- August 11(1)
- July 11(5)
- May 11(4)
- April 11(11)
- March 11(4)
- February 11(3)
- January 11(4)
- December 10(9)
- November 10(2)
- October 10(10)
- September 10(4)
- August 10(6)
- July 10(14)
- June 10(16)
- May 10(8)
- April 10(14)
- March 10(9)
- February 10(6)
- January 10(14)
- December 09(10)
- November 09(10)
- October 09(7)
- September 09(19)
- August 09(4)
- July 09(12)
- June 09(7)
- May 09(12)
- April 09(11)
- March 09(9)
- February 09(9)
- January 09(12)
- December 08(14)
- November 08(20)
- October 08(15)
- September 08(18)
- August 08(25)
- July 08(13)
- June 08(21)
- May 08(29)
- April 08(27)
- March 08(12)
- February 08(32)
- January 08(31)
- December 07(27)
- November 07(30)
- October 07(25)
- September 07(28)
- August 07(16)
- July 07(15)
- June 07(16)
- May 07(7)
- April 07(13)
- March 07(8)
- February 07(9)
- January 07(24)
- December 06(17)
- November 06(17)
- October 06(15)
- September 06(38)




