Cuando hago un nuevo objeto, digamos¿Puedo o DEBO encontrar un objeto mediante el atributo object_id en ruby?
o = Object.new
Este objeto tiene un id,
o.object_id
#=> ########
También hago varios otros objetos, utilizando la clase Object. ¿Cuál sería la mejor manera de que Ruby encuentre el objeto 'o' utilizando el atributo object_id? Estoy pensando en términos de algo como
search_id = o.object_id
search_result = Object.find(search_id)
Donde 'search_results' sería el objeto correspondiente a 'search_id'. Además, definitivamente apreciaría un enfoque completamente diferente para indexar objetos y recuperarlos por un guid o algo así. ¡Muchas gracias!
Hah, bueno, supongo que realmente solo tengo que pensar en esto en el contexto de una base de datos y simplemente usar consultas MySQL o las de cualquier DB que elija para encontrar el objeto. Cuanto más lo pienso, las únicas cosas posibles a las que se podría acceder a través de este método imaginario de 'encontrar()' serían las cosas que se crearon recientemente o 'activas'. Perdón por hacer de esto una pregunta horrible.
Lo siento, me tomó tanto tiempo volver aquí. Esto definitivamente respondió mi pregunta básica. Envolví algunas cosas secundarias confusas, pero me ocuparé de eso por mi cuenta o en otra pregunta en algún momento. ¡Muchas gracias! – wuliwong
si conservara todas las instancias creadas por su Clase en una variable de clase, podría evitar que sean basura, y podría usar el object_id para referenciarlas – Tilo
'require require 'objspace'' - no trivial .... – ribamar