"El testing es para cobardes" Hace una semana Luis vino hasta mi puesto y me dijo que se iba. Mentiría si dijese que me sorprendió la noticia. No es que me la esperase de él concretamente, pero es que a estas alturas del partido ya me la espero de cualquiera. Mientras subíamos por las escaleras hacia la cocina le dije que para mí nos dejab...
Hoy un amigo me ha preguntado cómo podía completar una definición de paso (step definition) ya existente con una finalización opcional. Aunque la solución es simple cuando se conoce, si buscas no es fácil encontrarla en la red. La clave está en conocer que las expresiones regulares tienen un tipo de agrupación que agrupa sin capturar: son los l...
Hay un comportamiento de SQL al que no termino de acostumbrarme. No sé si se puede etiquetar como gotcha, pero lo que está claro es que si andas un poco despistado puede llegar a confundir bastante. Por definición en SQL toda comparación con un nulo evalua a falso. Lo habitual cuando hacemos búsquedas es que sean por inclusión, es decir, b...
Buscando como truncar un texto por palabras me he encontrado con este post de Paul Sturgess en el que como en casi todo buen post lo mejor está en los comentarios. En estos se propone y desarrolla una expresión regular que finalmente queda así: texto.gsub(/^(.{100}[\w.]*)(.*)/m) {$2.empty? ? $1 : $1 + '…'} Esto, en teoría, nos cortaría...
Hoy me ha tocado bregar con algo que no tenía nada claro como resolver. Al final me ha resultado más sencillo de lo que pensaba, pero lo voy a dejar aquí en un post por si me toca volver a hacer algo similar. Se trata de, teniendo ya en el cliente un conjunto más o menos grande de elementos (como opciones de una lista de selección, por ejemplo)...
No, no se trata de una dieta milagrosa. Se trata de una situación en la que me he encontrado más de una vez y que nunca resuelvo de la misma forma. Esta que he aplicado hoy me parece lo suficientemente buena como para ponerla por aquí y así no volver a darle más vueltas a esto si me toca hacerlo de nuevo. Se trata del clásico "Archivo" que se m...
Aquí va uno curioso. El método de tmpdir de la clase Dir nos devuelve el directorio de ficheros temporales del sistema. Pues bien dicho método no está dentro de la implementación principal de la clase, si no en otro fichero, tmpdir.rb, que tenemos que requerir si deseamos utilizarlo. Unas órdenes desde la consola dicen más que mil palabras: ...
Si el patrón es, por ejemplo, ._* (todos los ficheros que empiecen por un punto seguido de un guión bajo), sería: find . -name '._*' -delete Si por alguna razón nos interesa hacerlo con xargs: find . -name '._*' -print0 | xargs -0 rm Con la opción -print0 del find le decimos que separe los ficheros con bytes nulos (null bytes). La opción -0 ...
Formatear separación de decimales en Rails
2 comentarios