Ich suche nach einer Methodenverkettung. Ich habe den folgenden Code:Erkennen, wenn eine Methode verkettet ist
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
So sind die folgenden Werke:
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'
Was ich will DONT ist arbeiten, wenn ich do_a ersten Mal nennen sie die Handler-Sets, die nun bedeutet do_b_if_a kann sein jederzeit angerufen. Aber ich möchte nur, dass es angerufen wird, wenn es mit do_a angekettet ist, wie mache ich das?
Das Problem ist, ich muss immer noch Zugriff auf das Objekt haben. –
Was meinst du, Zugriff auf das Objekt? – Jwosty