Я пытаюсь найти способ получить привязку от вызывающего в method_missing в Ruby (1.8), но я не могу найти способ сделать это.
Надеюсь, следующий код объясняет, что я хотел бы сделать:
class A
def some_method
x = 123
nonexistent_method
end
def method_missing(method, *args, &block)
b = caller_binding # <---- Is this possible?
eval "puts x", b
end
end
A.new.some_method
# expected output:
# 123
Итак... есть способ получить привязку звонящего, или это просто невозможно в Ruby (1.8)?