Resultados de búsqueda para ruby
rvm-prompt: muestra la versión actual de Ruby en el prompt de tu terminal
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
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 […]
Enlaces Ruby - Marzo 2021
Colección de los enlaces interesantes sobre Ruby que encontré durante el mes de marzo: Noticias sobre el lenguaje y programación Ruby general: 💎 Se publicó una nueva versión de JRuby 9.2.17.0. Esta agrega características de compatibilidad, rendimiento, mejoras a la biblioteca estándar y más. 💎 El 31 de marzo terminó el soporte para Ruby 2.5, así que hay que actualizarse. Podemos seguir usando 2.6 hasta el 31 de marzo de 2022, así como 2.7 y 3.0. 💎 En RSpec fundamentals: a basic glossary, podemos encontrar una guía práctica de referencia para métodos de RSpec. También puede servir como introducción rápida […]
Nuevo comando ls para IRB en Ruby 3
Recientemente se agregó el comando ls al código fuente de Ruby. El comando ls está inspirado en la misma funcionalidad al estilo Pry, una alternativa a IRB con algunas capacidades extra. El comando nos permite inspeccionar constantes, métodos y variables de self o de un objeto escribiendo muy poco. ¡Es bastante práctico! Para probarlo tenemos que usar la versión de desarrollo de Ruby, usando RVM tenemos que instalar ruby-head. Un ejemplo usando el comando en la gema ci_uy: head :001 > ls CiUY CiUY.methods: get_random_ci get_validation_digit random transform validate validate_ci validation_digit => nilhead :001 > ls CiUY CiUY.methods: get_random_ci get_validation_digit […]
Enlaces sobre Ruby Febrero 2021
A raíz de la saga de posts 7 días en el Picandoverso, he ido recolectando y publicando varios enlaces sobre Ruby y cosas relacionadas al lenguaje de programación diseñado para la felicidad de quienes lo programan. Acá están compilados los enlaces Ruby de esos posts y alguna cosa más 🙌🏻 RubyGalaxy es un meetup online para entusiastas de Ruby de todo el mundo. Estuve en el meetup del jueves pasado y estuvo muy bueno, recomiendo unirse y seguirlos en Twitch. También pueden seguir @TheRubyGalaxy en Twitter. AppSignal publicó un artículo sobre tipado estático en Ruby 3. Explica las diferencias entre […]
Elastic 7.11: Nuevas versiones de clientes Ruby para Elastic Enterprise Search y Elasticsearch
Ayer miércoles 10 de febrero se publicó la versión 7.11 del stack Elastic. El stack se publica en conjunto, así que tenemos versión 7.11 de Elasticsearch, Kibana, Logstash, Elastic Enterprise Search, y demás productos de la familia Elastic. En el equipo de clientes desarrollamos los clientes oficiales para Elasticsearch y Enterprise Search, y generalmente publicamos las versiones compatibles con la versión nueva el mismo día o dentro de las primeras 24 a 48 horas. Cada nueva versión "menor" incorpora un montón de cambios increíbles. Pueden leer más de lo que se agrega en esta versión en el blog post en […]
ci_ui - interfaz gráfica de usuario para ci_uy en Ruby
La gema Ruby ci_uy, el validador de números de Cédulas de Identidad Uruguaya, me ha servido mucho como ejercicio para practicar y aprender cosas nuevas en programación. Ya usé el algoritmo para programar y empaquetar código en Rust, Crystal y Go. Es lo suficientemente simple como para escribirlo en un lenguaje que recién estoy aprendiendo, pero también termina teniendo una utilidad final. Y ya tengo los tests hechos, es sólo cuestión de portarlos a otros lenguajes 🤪 Algo que estaba pendiente y tenía ganas de desarrollar desde hace mucho tiempo era una interfaz gráfica de escritorio (ya existe una versión […]
Mini pique - Ruby Enumerable#tally
¡Ruby es genial! 😁 Esta función está disponible a partir de Ruby 2.7.0: Enumerable#tally - Hace la cuenta de una colección, e.g., cuenta las ocurrencias de cada elemento. Devuelve un hash con los elementos de la colección como llaves y la cuenta correspondiente como valores: > coleccion = ['verde', 'rojo', 'azul', 'verde', 'violeta', 'amarillo', 'verde', 'rojo', 'verde'] => ["verde", "rojo", "azul", "verde", "violeta", "amarillo", "verde", "rojo", "verde"] > coleccion.tally => {"verde"=>4, "rojo"=>2, "azul"=>1, "violeta"=>1, "amarillo"=>1}> coleccion = ['verde', 'rojo', 'azul', 'verde', 'violeta', 'amarillo', 'verde', 'rojo', 'verde'] => ["verde", "rojo", "azul", "verde", "violeta", "amarillo", "verde", "rojo", "verde"] > coleccion.tally => {"verde"=>4, […]
Elastic Enterprise Search - cliente oficial en Ruby
Uno de los proyectos súper interesantes en los que estuve trabajando durante mi primer año en Elastic es el cliente oficial para Elastic Enterprise Search. Fue mi primer proyecto de cero, y una experiencia excelente. Trabajé en conjunto con el equipo de Enterprise Search, aprendí un montón de esos servicios y la recepción fue súper positiva. Gracias a esto también empecé a dar mis primeras charlas en inglés. Participé de una charla en ElasticON Global junto a dos compañeros de equipo. Hablamos sobre el trabajo que hemos venido haciendo en el equipo, y en mi parte hablé de Enterprise Search […]
Mini pique - Ruby 3: Hash#except
Algo nuevo que se viene en Ruby 3, Hash#except, un método que nos devuelve un hash nuevo con todas las llaves menos las que pasamos como parámetro: head :001 > data = {name: "Fernando", age: 35, height: 175} => {:name=>"Fernando", :age=>35, :height=>175} head :002 > data.except(:age) => {:name=>"Fernando", :height=>175}head :001 > data = {name: "Fernando", age: 35, height: 175} => {:name=>"Fernando", :age=>35, :height=>175} head :002 > data.except(:age) => {:name=>"Fernando", :height=>175} Fuente.
Nuevas versiones de Ruby y fin de soporte para Ruby 2.4
Ayer 31 de marzo se publicaron nuevas versiones con parches de seguridad para Ruby 2.4, 2.5, 2.6 y 2.7. Las versiones de Ruby 2.5.8, 2.6.6 y 2.7.1 cuentan con parches de seguridad para dos vulnerabilidades: CVE-2020-16255: Unsafe Object Creation Vulnerability in JSON (Additional fix) Es un arreglo adicional a una vulnerabilidad de creación no segura de objetos en JSON. La gema json incluida con Ruby puede ser forzada a crear objetos arbitrarios en un sistema. El mismo problema se había corregido en CVE-2013-0269, pero estaba incompleto. Ese arreglo corregía JSON.parse(data_del_usuario), pero no otros tipos de procesamiento de JSON como JSON(data_del_usuario) […]
ghpreview - Gema Ruby para previsualizar archivos Markdown con el estilo de GitHub
La gema ghpreview es una herramienta que te permite previsualizar un archivo Markdown localmente con el estilo de GitHub: Cuando escribes el README para tu proyecto, quieres poder previsualizar el Markdown localmente antes de madnarlo a GitHub. ghpreview es una utilidad de línea de comando que abre tu archivo Markdown en un navegador web. Usa el estilo de GitHub y (opcionalmente) actualiza automáticamente cada vez que guardes el archivo fuente. Corría el año 2012 y estaba trabajando en Neo (antes conocida como "New Context"), una empresa multinacional que había adquirido Cubox, empresa uruguaya donde estaba trabajando. Neo también había adquirido […]
Gamesdb - Gema Ruby para la API de TheGamesDB
El sábado pasado pensaba irme de aventuras por algún castillo de Escocia. Pero me desperté con un dolor de garganta tremendo que se transformó en resfrío y no me dejó salir todo el fin de semana. Qué mejor que ponerme a programar y actualizar una de mis gemas Ruby... TheGamesDB es una base de datos online de videojuegos. El sitio sirve como servicio frontend que se enlaza a una base de datos de metadata de videojuegos y arte de alta calidad. La base de datos puede ser usada en varias aplicaciones a través de su API (PC's como centro multimedia, […]
Versión 1.0 de ci_uy: La gema Ruby para validar números de cédula de identidad
Actualicé la gema ci_uy a la versión 1.0.0. Bueno en verdad después de publicarla a RubyGems le agregué unos metadatos al archivo gemspec para que enlazara al Changelog y otros recursos, tuve que "yankear" 1.0.0 y subir una versión nueva. Así que la versión actual es 1.0.1. La funcionalidad de la gema sigue más o menos igual desde hace años, pero dados unos cambios recientes, decidí definir la nueva versión como "estable". Los cambios en código fueron para usar frozen string literals, usando strings inmutables y en vez de ir cambiando los Strings, hacer todo con funciones. También agregué documentación […]
Crystal: Lenguaje de programación inspirado en Ruby
Crystal es un lenguaje de programación de propósito general orientado a objetos. Su sintaxis está inspirada en Ruby pero no busca ser compatible. Surgió del amor a la eficiencia para escribir código de Ruby, y el amor a la eficiencia para ejecutar código C. Busca ser lo mejor de ambos mundos. Entre las diferencias fundamentales con Ruby se encuentran: Es un lenguaje compilado, el código es convertido a código de máquina nativo a través de LLVM. Ruby, por otro lado, es un lenguaje interpretado. Tiene un sistema de tipado estático, por lo que la comprobación de tipos se realiza durante […]
Comentarios recientes