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.



26
27
28
29
30
31
32
# File 'lib/react_on_rails_pro/request.rb', line 26

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

Instance Method Details

#signalObject



44
45
46
47
48
49
50
51
52
53
54
# File 'lib/react_on_rails_pro/request.rb', line 44

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

#waitObject



34
35
36
37
38
39
40
41
42
# File 'lib/react_on_rails_pro/request.rb', line 34

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