Есть ли способ передать блоки между различными переменными экземпляра и экземпляра класса среди разных классов?
Я пытаюсь выполнить блок кода, передавая родительский класс объектов, однако я не могу показаться чтобы извлечь про c объект.
Создание генерирующего класса:
class Foo
def initialize
@clicks_enabled = false
@@click_args
end
def create_bar
@obj = Bar.new
self
end
def execute_click_method
@obj.click_method{ @@click_args } if @clicks_enabled
end
def get_click_args(&block)
@clicks_enabled = true
@@click_args = block
execute_click_method
end
end
Создание нового объекта класса
class Bar
@click_args
def initialize
@obj = []
end
def click_method(&block)
@click_args = block
execute_args { @click_args }
end
def execute_args
yield
end
end
Создание объекта Bar через Foo, затем передача блока в Foo, который в конечном итоге будет запустить внутри объекта Bar.
new_obj = Foo.new.create_bar
new_obj.get_click_args {puts 'some_methods_here'}
Печать yield
в def execute_args
дает мне <Proc:0x22be6a0@-:->
, однако, просто сдача не оставляет результатов.