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

Responder a