Я ищу способ соединения методов. У меня есть следующий код:Обнаружение, когда метод является цепным
class MyClass
attr_accessor :handler
def do_a
puts 'i just did a'
self.handler = 'a'
self
end
def do_b_if_a
puts 'i just did b' if handler == 'a'
end
end
Так следующие работы:
irb > test = MyClass.new
=> #<MyClass:0x007fa44ced9a70 @handler=nil>
irb > test.do_a
'i just did a'
irb > test.do_a.do_b_if_a
'i just did a'
'i just did b'
То, что я не хочу работать, когда я называю do_a впервые устанавливает обработчик, который означает, что теперь do_b_if_a может быть в любое время. Но я только хочу, чтобы его вызывали, когда он был привязан к do_a, как мне это сделать?
Проблема в том, что мне все еще нужно иметь доступ к объекту. –
Что значит доступ к объекту? – Jwosty