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