Model Logger para Rails
En el tiempo que llevo trabajando en este sector he conocido muchos tipos de clientes. Desde los más normales e incluso comprensivos, hasta el que se cree que tienes un botón en el teclado que pone “hacer web”, el que te pide colores “frescos pero serios” o el clásico “no sé qué ha pasado, yo no he tocado nada”. Este último será el que reciba hoy nuestra atención.
Prueba a hacer un CMS con opciones críticas, de esas que sirven para borrar algo importante o modificar un campo que utilizan muchos servicios relacionados. Pon un texto informativo al lado en rojo chillón y una confirmación con JS seguida de otra de lado del servidor. Da igual. Al final, algo se romperá y un agujero negro engullirá los pocos indicios que podían ayudarte a deshacer el entuerto.
Cuando la información es tan sensible que perderla significa perder dinero e incluso puestos de trabajo, saber qué ha pasado es fundamental. Por ello, y a falta de un buen sistema de backup, conviene dejar constancia en el log de todo lo ocurrido.
Para conseguirlo, y ya que mi framework de trabajo es RoR, he preparado un initializer que cumple con esto que os comento. Haciendo uso de varios callbacks, informa de los cambios que ha sufrido un objeto o de los atributos que tenía antes de ser borrado. Todo ello suponiendo que el modelo herede de AR e indicando la fecha y hora del suceso.
Como no son muchas líneas, lo pego directamente. Espero que os sea de utilidad
: Leer más…
Va, os dejo unos segundos para que os riáis a gusto… ¿ya? No, ¿que si me instalo el pepino dónde? xD
Primero, creamos un “
Parece ser que una de las últimas versiones de
RoR tiene muy buena integración con todos los tipos de BBDD existentes, aunque a veces su compatibilidad con algunas características deja mucho que desear. Este es el caso de los “
Este bonito mensaje nos aparecerá si acabamos de instalar Ruby y al intentar meter Rails nos damos cuenta de que necesitamos 
Si a pesar de trabajar con un
Llevo sin escribir dos meses justos, lo sé, y lo peor no es eso, sino las pocas ganas que tengo de solucionarlo…