2010/4/7 NachoKB <[email protected]> > 2010/4/7 Porta ☢ <[email protected]> > >> 2010/4/7 NachoKB <[email protected]> >> >>> ¿necesitás tal flexibilidad realmente? Si sólo tenés un conjunto acotado >>> de "tipos" de Requerimiento lo podés hacer con STI (Single Table >>> Inheritance) >>> >>> >>> class TienePalabras < Requerimiento; end >>> >>> si esta forma no te sirve, siempre podés tener una columna TEXT que >>> contenga código Ruby y lo evalúes (pasandole la instancia de nota y >>> proveedor se me ocurre)... >>> >>> >> Esto es lo que estaba pensando, pero no tengo en claro como implementarlo. >> Vengo de perl y en ese caso hubiera tirado un eval a lo macho sin pensarlo >> siquiera. Pero (imagino que, es una idea mia sin fundamento) en ruby podria >> haber alguna herramienta mas para hacerlo un poco mas prolijo. >> > > la forma "más prolija" que se me ocurre es armarte una serie de "comandos" > (subclases de Requerimiento, incluso podés usar alguna que componga otros > requerimientos con un AND o con un OR) y utilizar esos comandos para > construir tus restricciones > > >> pero me da la impresión de que es más engorroso para el usuario (¡necesita >>> saber Ruby!) y potencialmente peligroso; además si en realidad existen dos >>> "tipos" de requerimientos pobre usuario le hacés retipear el mismo código >>> una y otra vez... >>> >> >> En este caso, el usuario soy yo. Lo que quiero evitar es que cada >> requerimiento nuevo que aparece, tener que tocar codigo en la aplicacion. >> Ademas, hay un segundo nivel de usuario que va a tildar checkboxes para >> determinar que requerimientos tiene una Nota determinada para mandar a un >> Proveedor X. Es por eso que pense en tirar los Requerimientos en una tabla. >> De modo que cuando el usuario manda a procesar una Nota, se agarran todos >> los Requerimientos tildados, y se corre el codigo de cada requerimiento >> sobre la Nota elegida. >> >> Si esto se hace con un eval, entonces lo saco con fritas. >> > > si, tiene eval :P > > >> Se que en ruby hay Procs, lambdas y otras yerbas. >> > > Procs y lambdas no son serializables. Además, a fin de cuentas sería lo > mismo. > > >> Sospecho que se pueden usar para resolver el tema que tengo, pero >> honestamente no tengo en claro ni que son, ni como se usan ni si me sirven >> para este caso en particular. >> > > En este caso particular, no veo que te sirvan. > > ¿Pensaste las implicancias de seguridad que trae este approach? (metepúa) > > Si, pero me la juego. Sino tengo que entrar en if's eternos viendo que codigo ejecuto para cada Nota y va a quedar horrible...
> nachokb > > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > >
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
