Есть ли способ получить имя экземпляра, который мы создали из определенного класса в методе класса?Получить имя экземпляра
Это то, что я пытаюсь сделать:
module MyObjectStore
values = {}
temp= {}
define_method :add_check_attribute do |method,*args|
if method.to_s =~ /=$/
temp[method[0..-2]] = args[0]
else
instance_variable_get("@#{method}")
end
end
define_method :method_missing do |method,*args|
add_check_attribute(method,*args)
end
define_method :save do
temp.each {|key,value| instance_variable_set("@#{key}",value)}
values[self] = temp
end
end
class C
include MyObjectStore
end
a = C.new
a.id = 1
a.name = 'gaurav'
a.save
На третьей к последней строке модуля, я пытаюсь сохранить значение объекта в новом хэше, имеющем имя экземпляра в качестве ключа.
Есть ли что-нибудь подобное?
Теперь я использую self
, но он дает весь объект, а не имя экземпляра.
Отличный мужчина, Это именно то, что я искал. Благодаря тонну!! –
Несомненно. Рад, что смог помочь. – Linuxios