class Shere::ExternalAddress

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/shere.rb, line 6
def initialize
  super(external_address)
end

Public Instance Methods

ip_address() click to toggle source
# File lib/shere.rb, line 10
def ip_address
  address.ip_address
end
reverse_lookup_host() click to toggle source
# File lib/shere.rb, line 14
def reverse_lookup_host
  Socket.getaddrinfo(
    ip_address, 0, Socket::AF_UNSPEC, Socket::SOCK_STREAM, nil,
    Socket::AI_CANONNAME, true).dig(0, 2)
end

Private Instance Methods

external_address() click to toggle source
# File lib/shere.rb, line 21
def external_address
  Socket.ip_address_list.find do |addr|
    addr.ipv4? && !addr.ipv4_loopback? && !addr.ipv4_private?
  end
end