Menú principal

Blog de ApuX

01 Jul

Rails 5

Published by ApuX

Rails 5 acaba de ser liberado con diversos cambios y mejoras.

26 Feb

Ha terminado el soporte para Ruby 1.9.3

Published by ApuX

El soporte para Ruby 1.9.3 ha terminado el día de hoy (26 de febrero de 2015). Se recomienda migrar los proyectos que todavía utilicen esta versión de ruby a la versión 2.0 o alguna versión posterior. La nota oficial en: https://www.ruby-lang.org/en/news/2015/02/23/support-for-ruby-1-9-3-has-ended/

10 Jul

Ruby 1.8.7 y 1.9.2 cerca de quedar sin soporte

Published by ApuX

Ruby 1.8 había sido declarado como "sin soporte" hace algunos meses, pero su soporte fue extendido unos meses más, y la nueva fecha está por llegar. El 31 de julio, tanto la versión 1.8.7 como la versión 1.9.2 dejarán de tener soporte, por lo que si aún sigues utilizando alguna de estas versiones, lo mejor es migrar a una versión más actual. La nota oficial.

13 Jan

Acceder a una base de datos existente en Sinatra

Published by ApuX

Acceder a una base de datos existente en Sinatra

Recientemente tuve la necesidad de utilizar Sinatra para construir una pequeña aplicación que realizara accediera a una base de datos de una aplicación Rails para consultar y modificar información.

Para los que no lo han utilizado, Sinatra es un framework muy fácil de usar y bastante potente al mismo tiempo. En su página, el código de ejemplo más básico que ponen como ejemplo es el siguiente:

21 Oct

Libros gratuitos sobre programación

Published by ApuX

Me encontré este repositorio en Github con bastantes ligas a libros gratuitos sobre programación. Incluye temas de algoritmia, sistemas operativos, arquitectura de software, diversos lenguajes de programación, etc.. Aquí se los comparto.

Libros

Espero que les sea de utilidad.

14 Oct

Struct and OpenStruct in Ruby

Published by ApuX

The Ruby's Struct and OpenStruct classes are very useful for some tasks. They act like a simple data structure, similar to hash, but they also allow to access their attributes by calling them directly from the object and not only using the brackets.

Struct

Let's see and example with Struct.

30 Sep

Merge

Published by ApuX

Merge

Hay una funcionalidad de Rails que yo utilizo bastante pero tengo la impresión de que no es tan difundida como debería. Estoy hablando del metodo merge de ActiveRecord. Posiblemente la razón por la que no es muy utilizado es que existe un metodo con el mismo nombre en la clase Hash y eso provoca cierta confusion.

El merge de Hash

El metodo merge de Hash mezcla dos hashes y devuelve el resultado en un tercer hash. Ejemplo:

23 Sep

Merge

Published by ApuX

Merge

Rails has a functionality that I use a lot but I think it is not as widespread as it should. I'm talking about the ActiveRecord's merge method. Probably, the reason why this method is not widely used is because there is a method with the same name in the Hash class and that causes some confusion.

Hash's merge

The Hash's merge method merges two hashes and returns a third hash. Example:

09 Sep

[Breve] Detect outdated gems with bundler

Published by ApuX

In any ruby project where bundler is used, as a rails project for example, it is possible to detect which gems are outdated. Just run the following command:

bundle outdated

Bundle will review which ones of our gems have new versions and will show them to us. If we want to update all of them, we can execute

bundle update

or

09 Sep

[Breve] Detectar gemas desactualizadas con bundler

Published by ApuX

En un proyecto donde se utilice bundler, como es el caso de un proyecto rails, es posible detectar qué gemas están desactualizadas, basta con ejecutar el siguiente comando.

bundle outdated

Bundle revisará cuáles de nuestras gemas tienen nuevas versiones y nos las listará. Si queremos actualizarlas todas podemos ejecutar

bundle update

o bien

02 Sep

Matchers para métodos booleanos en RSpec

Published by ApuX

Ya he tocado este tema en post santeriores, pero no me había detenido lo suficiente para explicarlo. RSpec incluye una funcionalidad muy práctica al momento de probar métodos que regresan falso o verdadero. Por convención, en Ruby estos métodos terminan con un signo de interrogación que cierra: ?.

Ejemplo:

26 Aug

[Breve] Presentación sobre RSpec

Published by ApuX

Hace tiempo me encontré una presentación sobre RSpec que está muy completa y me ha resultado bastante útil. Aquí se las comparto. Espero que también les sea de utilidad.

http://kerryb.github.io/iprug-rspec-presentation

El autor es kerryb.

19 Aug

Struct y OpenStruct en Ruby

Published by ApuX

Ruby incluye las clases Struct y OpenStruct, que son muy útiles para ciertas tareas. Las clases funcionan como una estructura de datos simple, similar a un hash, pero que también permiten acceder a sus atributos llamándolos directamente sobre el objeto y no sólo mediante los corchetes.

Struct

Veamos un ejemplo con Struct:

12 Aug

Super en Ruby

Published by ApuX

Super

Métodos en subclases y superclases

Al momento de ejecutar un método de un objeto en Ruby, el interprete busca ese método en la definición de la clase, si lo encuentra, lo ejecuta, y si no, lo busca en la superclase. Ejemplo:

05 Aug

Shoulda matchers

Published by ApuX

Al probar modelos en Rails, solemos encontrarnos con cierto trabajo repetitivo. Para ejemplificar, supongamos un modelo que tiene dos campos: first_name y nickname. El campo first_name no debe estar vacío y el campo nickname debe tener una longitud entre 5 y 10, o bien, quedar en blanco. Nuestro modelo de Rails sería:

Páginas