Module: LocalPort

Defined in:
lib/local_port.rb,
lib/local_port/version.rb

Constant Summary collapse

VERSION =

local_port version

"0.1.0"

Class Method Summary collapse

Class Method Details

.free?(port, seconds = 1) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/local_port.rb', line 7

def self.free?(port, seconds=1)
  Timeout::timeout(seconds) do
    begin
      TCPSocket.new("127.0.0.1", port).close
      true
    rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH
      false
    end
  end
rescue Timeout::Error
  false
end

.next_free_one(port) ⇒ Object



20
21
22
23
# File 'lib/local_port.rb', line 20

def self.next_free_one(port)
  port += 1 while free?(port)
  port
end