Sha256: 3840588e069b3eec88974d52c74261c6efbb3f96e7b51356a25e45e0bf51d9bd

Contents?: true

Size: 622 Bytes

Versions: 20

Compression:

Stored size: 622 Bytes

Contents

# frozen_string_literal: true

module SmtpMock
  class Server
    class Port
      require 'socket'

      LOCALHOST = '127.0.0.1'
      RANDOM_FREE_PORT = 0

      class << self
        def random_free_port
          server = ::TCPServer.new(SmtpMock::Server::Port::LOCALHOST, SmtpMock::Server::Port::RANDOM_FREE_PORT)
          port = server.addr[1]
          server.close
          port
        end

        def port_open?(port)
          !::TCPSocket.new(SmtpMock::Server::Port::LOCALHOST, port).close
        rescue ::Errno::ECONNREFUSED, ::Errno::EHOSTUNREACH
          false
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
smtp_mock-1.4.4 lib/smtp_mock/server/port.rb
smtp_mock-1.4.3 lib/smtp_mock/server/port.rb
smtp_mock-1.4.1 lib/smtp_mock/server/port.rb
smtp_mock-1.4.0 lib/smtp_mock/server/port.rb
smtp_mock-1.3.6 lib/smtp_mock/server/port.rb
smtp_mock-1.3.5 lib/smtp_mock/server/port.rb
smtp_mock-1.3.4 lib/smtp_mock/server/port.rb
smtp_mock-1.3.3 lib/smtp_mock/server/port.rb
smtp_mock-1.3.2 lib/smtp_mock/server/port.rb
smtp_mock-1.3.1 lib/smtp_mock/server/port.rb
smtp_mock-1.3.0 lib/smtp_mock/server/port.rb
smtp_mock-1.2.2 lib/smtp_mock/server/port.rb
smtp_mock-1.2.1 lib/smtp_mock/server/port.rb
smtp_mock-1.2.0 lib/smtp_mock/server/port.rb
smtp_mock-1.1.0 lib/smtp_mock/server/port.rb
smtp_mock-1.0.1 lib/smtp_mock/server/port.rb
smtp_mock-1.0.0 lib/smtp_mock/server/port.rb
smtp_mock-0.1.2 lib/smtp_mock/server/port.rb
smtp_mock-0.1.1 lib/smtp_mock/server/port.rb
smtp_mock-0.1.0 lib/smtp_mock/server/port.rb