Buscar en Arrays

Os va a parecer coña, pero no lo es jeje. Tengo un array de la siguiente
manera:

[#<Role id: 1, name: “Administrador”, description: “Super Usuario del
Sistema”, created_at: “2008-03-02 02:12:44”, updated_at: “2008-03-02
02:12:44”>, #<Role id: 2, name: “Usuario”, description: “Usuario
genérico”, created_at: “2008-03-04 01:10:04”, updated_at: “2008-03-04
01:10:04”>]

Y lo que quiero buscar es si es administrador o no (name ==
“Administrador”). He probado con “user.roles.include?(“Administrador”)”
pero nada. He buscado en la clase Array de la documentación para ver si
encontraba algún método para hacer eso, pero no lo encontré. También he
googleado pero no he encontrado nada. ¿Hay algún método que busque
dentro de un array o me lo tengo que crear yo?

2008/3/4 Valentín Palacios [email protected]:

“Administrador”). He probado con “user.roles.include?(“Administrador”)”
pero nada. He buscado en la clase Array de la documentación para ver si
encontraba algún método para hacer eso, pero no lo encontré. También he
googleado pero no he encontrado nada. ¿Hay algún método que busque
dentro de un array o me lo tengo que crear yo?

Ten en cuenta que buena parte de la funcionalidad de Array viene del
módulo incluído Enumerable, has de mirar esa documentación también.

Por ejemplo con Enumerable#detect:

list.detect { |item| item.name == ‘Administrador’ }

Mira también Enumerable#find_all


Sergio Gil Pérez de la Manga
e-mail > [email protected]
blog > http://www.lacoctelera.com/porras

Al leer la documentacion de Array llegue a la clase Enumerable que
nombras y le eche un vistazo. Es más, la función detect la probe,
Pero no recuerdo en que contexto y no puedo verlo (estoy respondiendo
desde el movil).

Mañana intentare sacar un hueco en el trabajo para probarlo y mirar
tambien el método “find_all”.

Saludos y gracias.

On 04/03/2008, at 0:57, “Sergio Gil Pérez de la Manga”
<[email protected]