I have a class that uses savon as a gem to speak with a SOAP API. And from times to times the server is unreachable so the methods that implement the soap methods throw a Timeout::Error
. Its not a problem to implement a rescue like this:
begin
...
rescue Timeour::Error
...
end
But I have ~50 methods defined that might be affected and I dont want to repeat the same code 50 times. Thats abolutely not dry. Is there a way to deal with this? I already thought about sth like this:
def safe_call method, params
begin
self.send method, params
rescue Timeour::Error
# do sth heroic to rescue the method
end
end
But thats pretty unawesome because I have to change each call in all scripts that use the class. Is there a way to do a class wide rescue?