Class: OsCtld::Promise::Token

Inherits:
Object
  • Object
show all
Defined in:
lib/osctld/promise.rb

Instance Method Summary collapse

Constructor Details

#initializeToken

Returns a new instance of Token.



6
7
8
# File 'lib/osctld/promise.rb', line 6

def initialize
  @queue = OsCtl::Lib::Queue.new
end

Instance Method Details

#fulfilObject

Fulfil the promise



18
19
20
# File 'lib/osctld/promise.rb', line 18

def fulfil
  @queue << true
end

#wait(timeout: 60) ⇒ true?

Wait until the promise is fulfilled

Parameters:

  • timeout (Integer) (defaults to: 60)

Returns:

  • (true, nil)


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

def wait(timeout: 60)
  @queue.pop(timeout:)
end