Class: ReactOnRailsPro::Request::UploadAssetsWaiter

Inherits:
Object
  • Object
show all
Defined in:
lib/react_on_rails_pro/request.rb

Instance Method Summary collapse

Constructor Details

#initializeUploadAssetsWaiter

Returns a new instance of UploadAssetsWaiter.



30
31
32
33
34
35
36
# File 'lib/react_on_rails_pro/request.rb', line 30

def initialize
  if Fiber.scheduler
    @reader, @writer = IO.pipe
  else
    @queue = Queue.new
  end
end

Instance Method Details

#signalObject



48
49
50
51
52
53
54
55
56
57
58
# File 'lib/react_on_rails_pro/request.rb', line 48

def signal
  if @queue
    @queue << true
  else
    @writer.write_nonblock(".", exception: false)
  end
rescue IOError, SystemCallError
  nil
ensure
  close_io(@writer)
end

#waitObject



38
39
40
41
42
43
44
45
46
# File 'lib/react_on_rails_pro/request.rb', line 38

def wait
  if @queue
    @queue.pop
  else
    wait_for_signal
  end
ensure
  close_io(@reader)
end