Constante environnement depuis un plugin

Bonjour,

dans mon plugin j’essaye d’accéder à une constante définie dans
environment.rb.
Pour cela je me suis inspiré du plugin authorization :

if not Object.constants.include? "DEFAULT_REDIRECTION_HASH"
  DEFAULT_REDIRECTION_HASH = { :controller => 'account', :action =>

‘login’ }
end

J’ai testé ce code dans irb cela fonctionne. Le problème est que dans
mon
plugin ce code renvoit toujours false alors que la constante est bien
définie.
Par contre si je commente ce code et que j’utilise la constante
directement
dans mon code cela fonctionne bien.
A priori cela veut dire que lorsque ce code est exécuté
l’environment.rbn’est pas encore initialisé …
Si quelqu’un a une idée.

fredix :

dans mon plugin j’essaye d’accéder à une constante définie
dans environment.rb.

Oui mais où
?

Par contre si je commente ce code et que j’utilise la constante directement
dans mon code cela fonctionne bien.
A priori cela veut dire que lorsque ce code est exécuté l’environment.rb
n’est pas encore initialisé …

Ton plugin est chargé au moment du run de Rails::Initializer.
Si ta constante est définie après (en bas du fichier environment.rb),
ton plugin ne peut voir ta constante. Si tu l’as définie en haut du
fichier
(ie avant le Rails::Initialize.run), ton plugin devrait voir normalement
ta constante à temps.

– Jean-François.

Le 16/03/07, Jean-François Trân a écrit :

Ton plugin est chargé au moment du run de Rails::Initializer.
Si ta constante est définie après (en bas du fichier environment.rb),
ton plugin ne peut voir ta constante. Si tu l’as définie en haut du
fichier
(ie avant le Rails::Initialize.run), ton plugin devrait voir normalement
ta constante à temps.

Oups en effet ça marche mieux … :slight_smile: