geri dönme Bir yöntemi geçersiz kılabileceğim, bir şeyler yapabildiğim ve daha sonra etrafta herhangi bir artefakt bırakmadan bir yöntem bulmaya çalışıyorum.ruby - geçersiz kılma yöntemi ve daha sonra
Bunu mocha'yı kullanarak uygulamıştım, ancak açıkçası bu bir üretim uygulamasında uçmayacak. Yeni yöntemin parametreleri olduğuna dikkat edin ve eski olanı yoktur.
Örnek
require 'rubygems'
require 'mocha'
class Example
def to_something
self.stubs(:attribs => other(1))
r = attribs_caller
self.unstub(:attribs)
r
end
def other(int)
{"other" => int }
end
def attribs_caller
attribs
end
def attribs
{"this" => 1 }
end
end
a1 = Example.new
puts a1.attribs_caller #=> this1
puts a1.to_something #=> other1
puts a1.attribs_caller #=> this1
güzel, bununla ilgili bir sorun, yeni yöntemin dinamik olması ve bazı parametreler gerektirmesidir. Ancak bu yöntemi dinamik olarak tanımlayabilirim. Örneği yansıtacak şekilde güncelledim. – stellard
Doğru parametre siparişi, "alias alias_name original_name" gibi görünüyor, başka yoldan değil ... – vemv