f = flickr.photos.getSizes(390890953).sizes
f
=> {:Original=>#<Flickr::Size:0x28ca060 @height=1200, @width=1600,
@source=“http://farm1.static.flickr.com/175/390890953_fd08378420_o.jpg”,
@url=“All sizes | CIMG4365 | Flickr - Photo Sharing!”,
@label=“Original”>, :Large=>#<Flickr::Size:0x28ca3a8 @height=768,
@width=1024,
@source=“http://farm1.static.flickr.com/175/390890953_fd08378420_b.jpg”,
@url=“All sizes | CIMG4365 | Flickr - Photo Sharing!”,
@label=“Large”>, :Medium=>#<Flickr::Size:0x28ca6a0 @height=375,
@width=500,
@source=“http://farm1.static.flickr.com/175/390890953_fd08378420.jpg”,
@url=“All sizes | CIMG4365 | Flickr - Photo Sharing!”,
@label=“Medium”>, :Small=>#<Flickr::Size:0x28ca998 @height=180,
@width=240,
@source=“http://farm1.static.flickr.com/175/390890953_fd08378420_m.jpg”,
@url=“All sizes | CIMG4365 | Flickr - Photo Sharing!”,
@label=“Small”>, :Square=>#<Flickr::Size:0x28cafb0 @height=75,
@width=75,
@source=“http://farm1.static.flickr.com/175/390890953_fd08378420_s.jpg”,
@url=“All sizes | CIMG4365 | Flickr - Photo Sharing!”,
@label=“Square”>, :Thumbnail=>#<Flickr::Size:0x28cac90 @height=75,
@width=100,
@source=“http://farm1.static.flickr.com/175/390890953_fd08378420_t.jpg”,
@url=“All sizes | CIMG4365 | Flickr - Photo Sharing!”,
@label=“Thumbnail”>}
Por consola hago esto pero no se como leer los resultados, quiero
obtener el atributo @source de square, he intedo con
f.size.square.source y nada…
Gracias de antemano.
Hola,
=> {:Original=>#<Flickr::Size:0x28ca060 @height=1200, @width=1600,
@source=“http://farm1.static.flickr.com/175/390890953_fd08378420_o.jpg”,
Por consola hago esto pero no se como leer los resultados, quiero
obtener el atributo @source de square, he intedo con
f.size.square.source y nada…
yo primero probaría a hacer un .methods sobre el objeto almacenado en
:Original
Lo lógico sería que si esa variable la quieran tener accesible desde
fuera, tengan definido un accessor, por lo que entre los methods habría
un “source” y puede que un “source=”
Puede que exista uno de esos métodos o algún otro que te devuelva
directamente el valor source, y ésa debería ser la forma recomendada de
acceder a él ya que formaría parte del interfaz público de la clase y si
en el futuro cambia su funcionamiento interno, tu cliente no nota el
cambio.
Para el caso de que no haya un método que te de la variable source, o
para el caso de que el accessor sea privado, todavía se puede jugar un
poco con ruby y sobre tu objeto puedes pedirle un
.instance_variable_get(‘@source’) o
.instance_variable_set(‘@source’,valor)
Esto último lo recomiendo poco, porque implica usar un api de diferente
manera a como fue diseñada y te deja expuesto a que futuros cambios en
el api dejen tu aplicación fuera de combate. Pero funcionar funciona…
Saludos,
javier ramirez
–
Estamos de estreno… si necesitas llevar el control de tus gastos
visita http://www.gastosgem.com !!Es gratis!!
yo primero probar�a a hacer un .methods sobre el objeto almacenado en
:Original
Hola Javier
Sacandole el .methods… llegue a collect y agrupandolos despues todo se
hizo mas facil… asi quedo la sentencia final.
flickr.photos.getSizes(390890953).sizes.collect[0][1].source
Gracias,