Class: LinuxAdmin::IpAddress

Inherits:
Object
  • Object
show all
Includes:
Common
Defined in:
lib/linux_admin/ip_address.rb

Constant Summary

Constants included from Common

Common::BIN_DIRS

Instance Method Summary collapse

Methods included from Common

#cmd, #cmd?, #run, #run!

Instance Method Details

#addressObject



7
8
9
# File 'lib/linux_admin/ip_address.rb', line 7

def address
  address_list.detect { |ip| IPAddr.new(ip).ipv4? }
end

#address6Object



11
12
13
# File 'lib/linux_admin/ip_address.rb', line 11

def address6
  address_list.detect { |ip| IPAddr.new(ip).ipv6? }
end

#gatewayObject



29
30
31
32
33
34
# File 'lib/linux_admin/ip_address.rb', line 29

def gateway
  result = run(cmd("ip"), :params => ["route"])
  return nil if result.failure?

  parse_output(result.output, /^default/, 2)
end

#mac_address(interface) ⇒ Object



15
16
17
18
19
20
# File 'lib/linux_admin/ip_address.rb', line 15

def mac_address(interface)
  result = run(cmd("ip"), :params => ["addr", "show", interface])
  return nil if result.failure?

  parse_output(result.output, %r{link/ether}, 1)
end

#netmask(interface) ⇒ Object



22
23
24
25
26
27
# File 'lib/linux_admin/ip_address.rb', line 22

def netmask(interface)
  result = run(cmd("ifconfig"), :params => [interface])
  return nil if result.failure?

  parse_output(result.output, /netmask/, 3)
end