Class: DeferredLoader::Proxy

Inherits:
Object
  • Object
show all
Defined in:
lib/deferred_loader/proxy.rb

Instance Method Summary collapse

Constructor Details

#initialize(object) ⇒ Proxy

Returns a new instance of Proxy.



6
7
8
# File 'lib/deferred_loader/proxy.rb', line 6

def initialize(object)
  @object = object
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missingObject



19
20
21
22
23
24
25
26
27
# File 'lib/deferred_loader/proxy.rb', line 19

def proxy(method, *args)
  raise "Currently do not support args with length  >= 2" if args.length >= 2

  Q.defer {|defer|
    DeferredLoader::Executable.find_or_create(@object, method).push(
      @object, args[0], defer
    )
  }
end

Instance Method Details

#proxy(method, *args) ⇒ Object Also known as: method_missing



10
11
12
13
14
15
16
17
18
# File 'lib/deferred_loader/proxy.rb', line 10

def proxy(method, *args)
  raise "Currently do not support args with length  >= 2" if args.length >= 2

  Q.defer {|defer|
    DeferredLoader::Executable.find_or_create(@object, method).push(
      @object, args[0], defer
    )
  }
end