Class: Future

Inherits:
Object show all
Defined in:
lib/future.rb

Defined Under Namespace

Modules: ObjectExtension

Constant Summary collapse

VERSION =
"0.0.1"

Instance Method Summary collapse

Constructor Details

#initialize(obj, name, args, block) ⇒ Future

Returns a new instance of Future.



5
6
7
8
9
10
11
# File 'lib/future.rb', line 5

def initialize(obj, name, args, block)
	@obj, @name, @args, @block = obj, name, args, block
	@th  = Thread.start do
		Thread.pass # 一応明示的に pass しておく
		@obj.send(@name, *@args, &@block)
	end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object



13
14
15
# File 'lib/future.rb', line 13

def method_missing(name, *args, &block)
	@th.value.send(name, *args, &block)
end