@page == some_page # => nil

3 views
Skip to first unread message

Choan Gálvez

unread,
Sep 17, 2008, 2:25:55 PM9/17/08
to nano...@googlegroups.com
Hola amiguitos.

En sitios creados con nanoc 2.0.x he hecho uso abusivo de
construcciones tal que

def alguna_cosa(some_page)
if some_page == @page
# alguna cosita
else
# alguna otra
end
end

Y durante un tiempo fui (moderadamente) feliz.

Pero llegó nanoc 2.1 y la comparación entre páginas ha dejado de
devolver TRUE o FALSE, como en los buenos tiempos.

Demostración práctica:

def rompelo(some_page = @page)
puts @page # => #<Nanoc::PageProxy:0x117bf3c>
puts some_page # => #<Nanoc::PageProxy:0x117bf3c>
puts @page == some_page # => nil
end

Puedo salir del paso comparando las páginas por alguno de sus
atributos únicos, pero me da como cosa. ¿Qué demonios está pasando?
¿Alguna idea?

Salud.
--
Choan

Ale Muñoz

unread,
Sep 18, 2008, 4:21:54 AM9/18/08
to nano...@googlegroups.com
Es un bug que ya está corregido en el repo de nanoc:

http://www.bitbucket.org/ddfreyne/nanoc/changeset/f4be60796ddb/

Así que paciencia o a parchear!

: )

--
Ale Muñoz
http://sofanaranja.com
http://bomberstudios.com

Choan Gálvez

unread,
Sep 19, 2008, 7:29:43 PM9/19/08
to nano...@googlegroups.com
On Sep 18, 2008, at 10:21 AM, Ale Muñoz wrote:

> Es un bug que ya está corregido en el repo de nanoc:
>
> http://www.bitbucket.org/ddfreyne/nanoc/changeset/f4be60796ddb/


Great :)


>
>
> Así que paciencia o a parchear!

Una duda de uno que no se acaba los libros: ¿lo que estaba haciendo
aquí el belga era eliminar los métodos heredados?

Salud.
--
Choan

Ale Muñoz

unread,
Sep 20, 2008, 5:22:54 AM9/20/08
to nano...@googlegroups.com
>
> Una duda de uno que no se acaba los libros: ¿lo que estaba haciendo
> aquí el belga era eliminar los métodos heredados?
>

Efectivamente, pero no me preguntes por qué : )

Es posible que tuviera algún problema con el scope de los objectos en
Ruby. Me explico... Si tienes esto:

puts Objects.methods.length # => 77
def wadus
puts "wadus"
end
puts Objects.methods.length # => 78

puts String.wadus # => "wadus"

ves claramente que los métodos definidos sin scope en realidad
"cuelgan" de Object, y como en Ruby *todo* es un objecto, todas las
clases heredan el método.

Dependiendo de lo que estés haciendo, puede que no te venga bien (que
supongo que sería el caso de Denis...)

Choan Gálvez

unread,
Sep 27, 2008, 6:49:13 PM9/27/08
to nano...@googlegroups.com
On Sep 18, 2008, at 10:21 AM, Ale Muñoz wrote:

> Es un bug que ya está corregido en el repo de nanoc:
>
> http://www.bitbucket.org/ddfreyne/nanoc/changeset/f4be60796ddb/
>
> Así que paciencia o a parchear!

Muuuucha paciencia. Acaba de salir la versión 2.1.3 sin el parche
(explorando Bitbucket veo que el parche está en el branch "Default"
pero no en el de "2.1").

Voy a proceder a manifestar mi descontento escribiendo mecagonlaley.

Salud.
--
Choan

Reply all
Reply to author
Forward
0 new messages