Random TCP Port Generator for Ruby


It's a simple Ruby gem to get a random TCP port.
First, install it:
gem install random-port
Then, use it like this, to reserve a random TCP port:
require 'random-port'
port = RandomPort::Pool.new.acquire
The Pool
guarantees that the port won't be used again. You can put
the port back to the pool after usage:
RandomPort::Pool.new.acquire do |port|
end
You can do it without the block:
pool = RandomPort::Pool.new
port = pool.acquire
pool.release(port)
You can also use a pre-defined Pool::SINGLETON
singleton:
RandomPort::Pool::SINGLETON.acquire do |port|
end
The pool is thread-safe by default.
You can configure it to be
not-thread-safe, using optional sync
argument of the constructor.
How to contribute
Read
these guidelines.
Make sure you build is green before you contribute
your pull request. You will need to have
Ruby 2.3+ and
Bundler installed. Then:
bundle update
bundle exec rake
If it's clean and you don't see any error messages, submit your pull request.