2012-09-28 13 views
5

¿Hay una manera de hacer lo que hace el archivo Config.groovy, pero durante la ejecución de código ...
Algo así como:Griales ejecutar código por-medio ambiente

 
class AController{ 
    def method(){ 
     withEnvironments{ 
      development{ 
       println 'This is execute just on development' 
      } 
      production { 
       log.debug 'This is execute just on production' 
      } 
     } 
    } 
} 

sé que puedo lograr el mismo efecto usando if (Environment.current == 'development'), pero ¿hay algo con ese sintax?

+1

simplemente pequeña corrección si (. Environment.getCurrent() equals (Environment.DEVELOPMENT)) –

+1

@AramArabyan Una manera groovy de diciendo que es : 'if (Environment.current == Environment.DEVELOPMENT)' –

+0

Para desarrollador perezoso groovy se convierte en if (Environment.current == 'development') cuando el código no tiene que funcionar :) – rascio

Respuesta

16

Encontrado this blog post que muestra una posible solución usando Environment.executeForCurrentEnvironment:

import grails.util.Environment 

class AController { 
    def method() { 
    Environment.executeForCurrentEnvironment { 
     development { 
     println 'This is execute just on development' 
     } 
     production { 
     log.debug 'This is execute just on production' 
     } 
    } 
    } 
} 
+0

Thanks man! ¡Esto es lo que estaba buscando! – rascio