Sha256: 4cc914e1d08692e8ea87c4af6fc3a071d69065adfa2c2d1d8be0256c51faa25e
Contents?: true
Size: 708 Bytes
Versions: 2
Compression:
Stored size: 708 Bytes
Contents
require 'delegate' module Alki module Reload class ReloadableDelegator < Delegator def initialize(instance,ref) @instance = instance @ref = ref end def __getobj__ if !@obj || @instance_version != @instance.__version__ @ref.executor = @instance.assembly_executor @obj = @ref.call @instance_version = @instance.__version__ end @obj end def method_missing(method,*args,&blk) ref_meth = :"__reference_#{method}__" if respond_to?(ref_meth,true) ReloadableDelegator.new @instance, super(ref_meth, *args, &blk) else super end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
alki-reload-0.3.1 | lib/alki/reload/reloadable_delegator.rb |
alki-reload-0.2.0 | lib/alki/reload/reloadable_delegator.rb |