Sha256: eeb672cf3b0d660fa10f437cd934a2bf7dc0a199ccfe15b0c9356c47e2532351

Contents?: true

Size: 545 Bytes

Versions: 7

Compression:

Stored size: 545 Bytes

Contents

module Specjour
  module SocketHelper
    def ip_from_hostname(hostname)
      Socket.getaddrinfo(hostname, nil, Socket::AF_INET, Socket::SOCK_STREAM).first.fetch(3)
    end

    def hostname
      @hostname ||= Socket.gethostname
    end

    def current_uri
      @current_uri ||= new_uri
    end

    def new_uri
      URI::Generic.build :host => faux_server[2], :port => faux_server[1]
    end

    protected

    def faux_server
      server = TCPServer.new('0.0.0.0', nil)
      server.addr
    ensure
      server.close
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
specjour-0.3.0.rc7 lib/specjour/socket_helper.rb
specjour-0.3.0.rc6 lib/specjour/socket_helper.rb
specjour-0.3.0.rc5 lib/specjour/socket_helper.rb
specjour-0.3.0.rc4 lib/specjour/socket_helper.rb
specjour-0.3.0.rc3 lib/specjour/socket_helper.rb
specjour-0.3.0.rc2 lib/specjour/socket_helper.rb
specjour-0.3.0.rc1 lib/specjour/socket_helper.rb