Archivo: Ruby | Picando Código

Paquete de eBooks: Ruby on Rails de Pragmatic Programmer

13 de noviembre de 2023
eBooks Ruby on Rails

Humble Bundle tiene un nuevo paquete de ebooks sobre Ruby y Ruby On Rails de Pragmatic Programmer. Pragmatic Programmer publica muy buenos libros de Ruby, y este es un excelente paquete. Los rumores de la muerte de Ruby y Rails han sido muy exagerados. No sólo está vivo y coleando, sino que es un lenguaje en constante evolución (y se paga muy bien). Es una excelente oportunidad para adentrarse en el hermoso lenguaje de programación que es Ruby. Si bien este paquete incluye la cuarta versión del “Pickaxe” (Programming Ruby 1.9 & 2.0), es la última publicada hasta el momento […]

[Error Ruby] mocha/integration/mini_test/adapter.rb:26:in `included’: uninitialized constant MiniTest (NameError)

27 de julio de 2023
Ruby

Hoy me encontré con este error ejecutando unos test en Ruby: /opt/hostedtoolcache/Ruby/3.2.2/x64/lib/ruby/gems/3.2.0/gems/mocha-2.0.4/lib/mocha/integration/mini_test/adapter.rb:26:in `included’: uninitialized constant MiniTest (NameError) Mocha::ExpectationErrorFactory.exception_class = ::MiniTest::Assertion ^^^^^^^^^^^ Did you mean? Minitest Así que salí a buscar el repositorio de código de mocha (una biblioteca para mocks y stubs en Ruby), y encontré que el problema ya había sido reportado. En las notas de la versión más reciente de Minitest, avisan que la capa de compatibilidad con MiniTest ahora se carga únicamente al estar presente la variable de ambiente MT_COMPAT. Como se puede ver en el error, mocha hace un llamado a MiniTest en la línea 26 […]

Usando la nueva gema debug para ‘debuggear’ en Ruby

8 de junio de 2023
Ruby

Desde hace poco empecé a usar el debugger nuevo en Ruby 3: debug. Tengo un vago recuerdo de que cuando empecé a programar con Ruby, el debugger era medio complicado. Si no recuerdo mal debug o ruby-debug era el debugger original, pero después cayó en desuso (o el código no se mantenía) y empecé a usar byebug. Pero esto pasó hace más de 10 años así que no confío mucho en mis recuerdos vagos (que no es lo mismo que “no confío mucho en mis recuerdos, vagos”). Leyendo sobre debug en el blog de Koichi Sasada, su programador principal, parece […]

Nueva versión de la gema para TheGamesDB

20 de enero de 2023
Ruby: GamesDB 2.1

Esta semana actualicé mi gema Ruby gamesdb a la versión 2.1.0. Incluye cambios de mantenimiento, como asegurar compatibilidad con las versiones nuevas de Ruby (3.2) y actualizaciones en los tests. Refactoricé un poco el código extrayendo varias funciones utilitarias de manejo de imágenes y más a su propio módulo Gamesdb::Utils. Manejo de errores La nueva funcionalidad más importante es el manejo de errores. Anteriormente, en caso de error de conexión o en el pedido HTTP, el código levantaba la excepción directamente de Net::HTTP o cualquier otro error en la función principal perform_request. Pero si había un error desde la API […]

Se viene Ruby 3.2: Ruby muy eficiente y rápido, gracias en parte a Shopify

23 de diciembre de 2022
Ruby

Se viene Ruby 3.2, la nueva versión de Ruby que estaría disponible a partir de el próximo día de Navidad. Shopify es una de las empresas que ha venido apoyando mucho al lenguaje de programación, además de tener la aplicación Ruby on Rails más grande del mundo (o así lo afirman). Ufuk Kayserilioglu, Gerente de Ingeniería en el equipo de Infraestructura de Shopify, compartió que “hay tantas cosas geniales en 3.2 que no pudimos esperar al día de la publicación, y ya las usamos en los pedidos a Shopify”. Quedé bastante emocionado con todo lo que describe, y lo hace […]

Procesando Feeds RSS de TinyRSS para consumo OPML

15 de noviembre de 2022
Ruby RSS

Hace un buen tiempo usaba TinyRSS, un lector RSS web alojado en mi servidor. Pero no recuerdo si fue por actualizar PHP o el código de Tiny Tiny RSS mismo, se rompió la instalación. Decidí volver a usar alguna aplicación de escritorio, por el momento estoy usando Akregator en KDE, pero vi que Thunderbird también permitía la importación de Feeds RSS. Como no quería ingresar los feeds a los que estaba suscripto de a uno y a mano, entré al phpMyAdmin de mi servidor, y me fijé en qué tabla se encontraban mis feeds. La tabla en cuestión es ttrss_feeds, […]

Quinta edición del “Pickaxe”: Programming Ruby 3.2

10 de noviembre de 2022
Programming Ruby 3.2 (5th Edition)

El libro “Programming Ruby“, conocido como Pickaxe por su tapa, ha sido llamado “la referencia definitiva” de Ruby. Desde hace varios años se han ido publicando nuevas ediciones con las actualizaciones pertinentes a nuevas versiones del lenguaje. Escrito originalmente por Dave Thomas, en Febrero de 2023 verá una versión actualizada para Ruby 3.2 (que debería ser publicado el próximo día de Navidad). El encargado de esta versión actualizada es Noel Rappin, autor de varios libros técnicos como Rails 5 Test Prescriptions y Modern Front End Development With Rails. El título se encuentra actualmente disponible en versión beta en el sitio […]

Documental – Two Cartoon Foxes: Remembering Why The Lucky Stiff

19 de agosto de 2021
_why foxes

El 19 de agosto de 2009, Why the Lucky Stiff desapareció de la comunidad Ruby. Hoy se celebra el Whyday, donde la comunidad Ruby recuerda las contribuciones de _why al ecosistema y la cultura que la identifica. Para más información pueden visitar el sitio Whyday.org o la cuenta en Twitter @celebratewhyday o seguir el hashtag #whyday. Error happened.

Enlaces Ruby – Junio 2021

6 de julio de 2021
Ruby

Colección de los enlaces interesantes sobre Ruby que encontré durante el mes de junio: Noticias sobre el lenguaje y programación Ruby general: 💎 En este post Kingsley Silas explica el camino que usa Ruby para encontrar métodos: Ruby usa una “forma” o “patrón” definidos para determinar el método correcto a llamar y el momento correcto para devolver un error “no method erro”, y podemos llamar a esto el “Ruby Method Lookup Path”. En este tutorial, nos vamos a sumergir en la búsqueda de métodos de Ruby. Al final, vas a tener un buen entendimiento de cómo Ruby recorre la jerarquía […]

Semantic Logger – framework de logueo enriquecido para Ruby y Rails

25 de junio de 2021
Elasticsearch Semantic Logging

Semantic Logger es un framework enriquecido de logueo que permite producir resultados legibles para humanos y para máquinas 🤖 Entre las características principales listan: Archivos de log con texto coloreado para que los humanos lo podamos leer. Archivos de log JSON con toda la información semántica para alimentar a las máquinas. Escribir a múltiples destinos a la misma vez Enviar los logs a un sistema centralizado de logueo, via JSON o adaptadores incluidos. Como implementa la interfaz estándar de logueo de Ruby, se puede reemplazar el log normal con Semantic Logging. Lo probé con el cliente oficial de Elasticsearch para […]

Mini pique: Ruby – Usar las notificaciones del sistema para notificarnos de tareas

14 de junio de 2021
Ruby

Esto es más bien una idea que se me ocurrió trabajando, pero me pareció buena compartirla como mini pique. Por lo menos para no olvidarme en el futuro que esto es una posibilidad, al escribir un post al respecto me queda más grabado en la memoria. La gema libnotify nos permite interactuar con la biblioteca libnotify de nuestro sistema y generar notificaciones de manera muy sencilla. Este código: > require ‘libnotify’ > Libnotify.show( body: "Hola Mundo", summary: "Picando Código informa", icon_path: "/usr/share/icons/Humanity/apps/32/terminal.svg" )> require ‘libnotify’ > Libnotify.show( body: "Hola Mundo", summary: "Picando Código informa", icon_path: "/usr/share/icons/Humanity/apps/32/terminal.svg" ) Genera esta notificación: […]

Enlaces Ruby – Mayo 2021

1 de junio de 2021
Ruby

Colección de los enlaces interesantes sobre Ruby que encontré durante el mes de mayo: Noticias sobre el lenguaje y programación Ruby general: 💎 Ya he compartido varios enlaces sobre Ractors en Ruby 3, pero otra característica nueva es la clase Fiber::SchedulerInterface. Nos permite escribir schedulers más avanzados basados en bucles de eventos para entrada y salida sin bloquear en Ruby (a lo frameworks como EventMachine). Recientemente resurgió un artículo muy bueno sobre el tema Ruby 3.0 and the new FiberScheduler interface. Mientras leía esto me colgué a probar cosas y tengo algunas ideas para implementar más cosas, tengo investigación por […]

rvm-prompt: muestra la versión actual de Ruby en el prompt de tu terminal

31 de mayo de 2021
rvm-prompt

rvm-prompt es una herramienta que muestra la versión actual de Ruby. Podemos usarla para mostrar esta información en nuestro prompt en la terminal: Para agregarlo, en nuestro archivo de configuración ~/.bashrc, ~/.profile o lo que sea, tenemos que agregar el comando a la variable PS1. El ejemplo de la documentación: PS1=”\$(~/.rvm/bin/rvm-prompt) $PS1″ Para el resultado de la imagen con los colores, la rama de GitHub y demás, yo uso en mi ~/.bashrc: PS1=’\[\033[01;32m\]\u\[\033[01;34;10m\] \[\033[01;34m\]\w\[\033[01;33m\] \e[31m`rvm-prompt`\e[0m\[\033[01;36m\]$(__git_ps1)\n\[\033[01;34m\]\$\[\033[00m\] ‘ Como podemos leer en la documentación, hay varios parámetros que le podemos pasar al comando para mostrar el intérprete (i), versión (v), nivel de […]

Enlaces Ruby – Abril 2021

1 de mayo de 2021
Ruby

Colección de los enlaces interesantes sobre Ruby que encontré durante el mes de abril: Noticias sobre el lenguaje y programación Ruby general: 💎 How to start learning Ruby? (timeless resources and techniques) no sólo provee recursos para empezar con Ruby. Lo hace por medio de ejemplos prácticos y dibujos en un estilo que me hizo acordar al libro de _why. A medida que el lenguaje sigue madurando, hay dos cosas que no podemos olvidar de Ruby: “Matz es bueno así que somos buenos”, y “¡Ruby necesita mantenerse raro!”. Por más contenido gráfico como éste 🙂 🔑 Nuevas actualizaciones de seguridad […]

eBooks: Head First Programming por O’Reilly

20 de abril de 2021
eBooks: Head First Programming por O’Reilly

La serie de libros Head First de O’Reilly es excelente para aprender algo por primera vez. En su momento leí Head First Java, Head First Software Development y partes de Head First Design Patterns si recuerdo bien. Humble Bundle está ofreciendo un paquete de eBooks de la serie Head First para aprender Java, Python, Go, C, Ruby y más. El precio mínimo es USD 1/1 €, por un paquete con un costo total mayor a USD 700. Podemos elegir el precio y cómo se distribuye el dinero que aportamos entre la editora, la caridad Code For America o Humble Bundle. […]

Toasty!