Class: EnhancedPrompt::Prompt::Token::Network

Inherits:
Object
  • Object
show all
Defined in:
lib/enhanced_prompt/token/network.rb

Instance Method Summary collapse

Constructor Details

#initializeNetwork

Returns a new instance of Network.



6
7
8
# File 'lib/enhanced_prompt/token/network.rb', line 6

def initialize
  _ip_list
end

Instance Method Details

#global_ipv4Object



36
37
38
# 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_ipv6Object



40
41
42
# 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

#hostnameObject



10
11
12
# File 'lib/enhanced_prompt/token/network.rb', line 10

def hostname
  @hostname ||= hostname_full.split('.')[0]
end

#hostname_fullObject



14
15
16
# File 'lib/enhanced_prompt/token/network.rb', line 14

def hostname_full
  @hostname ||= Socket.gethostname
end

#ipv4Object



18
19
20
21
# File 'lib/enhanced_prompt/token/network.rb', line 18

def ipv4
  @ipv4 ||= global_ipv4
  @ipv4 ||= private_ipv4
end

#ipv6Object



23
24
25
26
# File 'lib/enhanced_prompt/token/network.rb', line 23

def ipv6
  @ipv6 ||= global_ipv6
  @ipv6 ||= private_ipv6
end

#private_ipv4Object



28
29
30
# File 'lib/enhanced_prompt/token/network.rb', line 28

def private_ipv4
  @private_ipv4 ||= @_ip_list.detect{|ip| ip.ipv4_private? }
end

#private_ipv6Object



32
33
34
# 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