class AutomateIt::AddressManager::Linux

AddressManager::Linux

A Linux-specific driver for the AddressManager provides complete support for querying, adding and removing addresses on platforms that feature Linux-like tools.

Public Instance Methods

add(opts) click to toggle source

See AddressManager#add

# File lib/automateit/address_manager/linux.rb, line 15
def add(opts)
  _add_helper(opts) do |opts|
    interpreter.sh(_ifconfig_helper(:add, opts))
    if interpreter.which("arping")
      interpreter.sh("arping -q -c #{opts[:announcements]} -w #{opts[:announcements]} -I #{opts[:device]} #{opts[:address]}")
    end
  end
end
addresses() click to toggle source

See AddressManager#addresses

# File lib/automateit/address_manager/linux.rb, line 38
def addresses()
  _raise_unless_available
  return `ifconfig`.scan(/inet6? addr:\s*(.+?)\s+/).flatten
end
interfaces() click to toggle source

See AddressManager#interfaces

# File lib/automateit/address_manager/linux.rb, line 32
def interfaces()
  _raise_unless_available
  return `ifconfig`.scan(/^(\w+?(?::\w+)?)\b\s+Link/).flatten
end
remove(opts) click to toggle source

See AddressManager#remove

# File lib/automateit/address_manager/linux.rb, line 25
def remove(opts)
  _remove_helper(opts) do |opts|
    interpreter.sh(_ifconfig_helper(:remove, opts))
  end
end