Testscript:
----------------------------------------------------------------
require "my_lazy"
class Thing
attr :prop
def initialize
@prop = lazy {@prop = expensive_load}
end
def expensive_load
p :expensive_load
raise "BOOM" # Optionally
7*8
end
end
thing = Thing.new
3.times do
begin
p thing.prop
rescue Exception => e
p [e.message, e.backtrace]
end
end
----------------------------------------------------------------