Generar fixtures lógicas

Buenas Gente,

Aún a riesgo de parecer un spammer, creo interesante compartir esto
con vosotros, asi que de nuevo os redirijo a mi blog para compartir
con vosotros un pequeño truquillo con los fixtures:

http://www.isaacfeliu.com/2008/08/como-preparar-fixtures-de-forma-rapida-y-sencilla/

El tema es una mini-clase chorra chorra para crear un fixture a partir
de una coleción de AR, y tenerlo todo dentro de una tarea rake y así
poder generar los fixtures para nuestra aplicación a partir de datos
de las tablas de desarrollo en vez de tener que editar a mano los yml
de marras. Útil para las tablas de relaciones 1-n o n-n.

Faltaria pulir alguna cosilla que esta hecha rápido y deprisa, como el
data.split(“\n”), a ver si alguien que lo tenga por la mano me ilumina
sobre como hacer esto en una linea y de forma más elegante. La idea es
que tienes un string multilinea del cual quieres borrar la primera
linea. La forma guarra que he utlizado es partir el string por \n,
borrar el primer elemento y luego volver a juntar el array con \n.
Seguro que hay una forma mejor.

Bueno, hasta aqui, continuo el trabajo, que hay mucho. :slight_smile:

Saludos!

Isaac Feliu

2008/8/21 Isaac Feliu Pérez [email protected]:

Faltaria pulir alguna cosilla que esta hecha rápido y deprisa, como el
data.split(“\n”), a ver si alguien que lo tenga por la mano me ilumina
sobre como hacer esto en una linea y de forma más elegante. La idea es
que tienes un string multilinea del cual quieres borrar la primera
linea. La forma guarra que he utlizado es partir el string por \n,
borrar el primer elemento y luego volver a juntar el array con \n.

Yep! Ahi lo suyo es String#sub:

“foo\n\nbar\nbaz”.sub(/.*\n/, ‘’)
=> “\nbar\nbaz”

Vaya, como siempre, en tu linea de expresiones regulares. :wink:

Voy a modificar el post.

Saludos!

Isaac Feliu

On Thu, Aug 21, 2008 at 12:13 PM, Isaac Feliu Pérez
[email protected] wrote:

Vaya, como siempre, en tu linea de expresiones regulares. :wink:

Heh :-), hay un caso frontera que se escapa, cuando no hay ningun “\n”
como en “foo”. Si en ese caso se quiere una cadena vacia habria que
añadir un “?” a la regexp:

.*\n?

Bueno, razón tienes, pero en el caso que nos ocupa no aplica, pues la
regexp es para quitar el “—\n” que pone el método Array#to_yaml

Pero es bueno saberlo!

Saludos,

Isaac Feliu