Class: ThomasUtils::FutureWrapper

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/thomas_utils/future_wrapper.rb

Instance Method Summary collapse

Constructor Details

#initialize(future, &callback) ⇒ FutureWrapper

Returns a new instance of FutureWrapper.



8
9
10
11
# File 'lib/thomas_utils/future_wrapper.rb', line 8

def initialize(future, &callback)
  @future = future
  @callback = callback
end

Instance Method Details

#getObject



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

def get
  @result ||= @callback.call(@future.get)
end

#on_successObject



17
18
19
# File 'lib/thomas_utils/future_wrapper.rb', line 17

def on_success
  @future.on_success { |result| yield @callback.call(result) }
end