class Alki::Reload::ReloadableDelegator

Public Class Methods

new(instance,ref) click to toggle source
# File lib/alki/reload/reloadable_delegator.rb, line 6
def initialize(instance,ref)
  @instance = instance
  @ref = ref
end

Public Instance Methods

__getobj__() click to toggle source
# File lib/alki/reload/reloadable_delegator.rb, line 11
def __getobj__
  if !@obj || @instance_version != @instance.__version__
    @obj = @ref.call
    @instance_version = @instance.__version__
  end
  @obj
end
method_missing(method,*args,&blk) click to toggle source
Calls superclass method
# File lib/alki/reload/reloadable_delegator.rb, line 19
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