class EnhancedPrompt::Prompt::Token::Network

Public Class Methods

new() click to toggle source
# File lib/enhanced_prompt/token/network.rb, line 6
def initialize
  _ip_list
end

Public Instance Methods

global_ipv4() click to toggle source
# File lib/enhanced_prompt/token/network.rb, line 36
def global_ipv4
  @global_ipv4 ||= @_ip_list.detect{|ip| !ip.ipv4_private? && ip.ipv4?}
end
global_ipv6() click to toggle source
# File lib/enhanced_prompt/token/network.rb, line 40
def global_ipv6
  @global_ipv6 ||= @_ip_list.detect{|ip| ip.ipv6_mc_global? && ip.ipv6? }
end
hostname() click to toggle source
# File lib/enhanced_prompt/token/network.rb, line 10
def hostname
  @hostname ||= hostname_full.split('.')[0]
end
hostname_full() click to toggle source
# File lib/enhanced_prompt/token/network.rb, line 14
def hostname_full
  @hostname ||= Socket.gethostname
end
ipv4() click to toggle source
# File lib/enhanced_prompt/token/network.rb, line 18
def ipv4
  @ipv4 ||= global_ipv4
  @ipv4 ||= private_ipv4
end
ipv6() click to toggle source
# File lib/enhanced_prompt/token/network.rb, line 23
def ipv6
  @ipv6 ||= global_ipv6
  @ipv6 ||= private_ipv6
end
private_ipv4() click to toggle source
# File lib/enhanced_prompt/token/network.rb, line 28
def private_ipv4
  @private_ipv4 ||= @_ip_list.detect{|ip| ip.ipv4_private? }
end
private_ipv6() click to toggle source
# File lib/enhanced_prompt/token/network.rb, line 32
def private_ipv6
  @private_ipv6 ||= @_ip_list.detect{|ip| !ip.ipv6_mc_global? && ip.ipv6?}
end

Private Instance Methods

_ip_list() click to toggle source
# File lib/enhanced_prompt/token/network.rb, line 45
def _ip_list
  @_ip_list ||= Socket.ip_address_list.delete_if{|ip|ip.ipv6_loopback? || ip.ipv4_loopback? }
end