class Routemaster::Responses::ResponsePromise
Public Class Methods
new(&block)
click to toggle source
The ‘block` is expected to return a {Response}
# File lib/routemaster/responses/response_promise.rb, line 12 def initialize(&block) @promise = Concurrent::Promise.execute(executor: Pool.current, &block) end
Public Instance Methods
method_missing(m, *args, &block)
click to toggle source
# File lib/routemaster/responses/response_promise.rb, line 32 def method_missing(m, *args, &block) value.public_send(m, *args, &block) end
value()
click to toggle source
# File lib/routemaster/responses/response_promise.rb, line 36 def value @promise.value.tap do raise @promise.reason if @promise.rejected? end end