brew/Library/Homebrew/lazy_object.rb
2019-04-20 13:27:36 +09:00

18 lines
297 B
Ruby

# frozen_string_literal: true
class LazyObject < Delegator
def initialize(&callable)
super(callable)
end
def __getobj__
return @__delegate__ if defined?(@__delegate__)
@__delegate__ = @__callable__.call
end
def __setobj__(callable)
@__callable__ = callable
end
end