Sha256: ffb7af878bbbf99d961ab2055a46e1466703ce60ed24f1d313e6257a20b99c6e

Contents?: true

Size: 892 Bytes

Versions: 10

Compression:

Stored size: 892 Bytes

Contents

# == AddressManager::SunOS
#
# A SunOS-specific driver for the AddressManager provides complete support for
# querying, adding and removing addresses.
class AutomateIt::AddressManager::SunOS < AutomateIt::AddressManager::BaseDriver
  def self.token
    :sunos
  end

  depends_on :programs => %w(ifconfig uname),
    :callbacks => lambda{`uname -s`.match(/sunos/i)}

  def suitability(method, *args) # :nodoc:
    available? ? 2 : 0
  end

  # See AddressManager#add
  def add(opts)
    _add_helper(opts) do |opts|
      interpreter.sh("ifconfig %s plumb" % _interface_and_label(opts))
      interpreter.sh(_ifconfig_helper(:add, opts))
    end
  end

  # See AddressManager#remove
  def remove(opts)
    _remove_helper(opts) do |opts|
      interpreter.sh(_ifconfig_helper(:remove, opts))
      interpreter.sh("ifconfig %s unplumb" % _interface_and_label(opts))
      true
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
automateit-0.71031.1 lib/automateit/address_manager/sunos.rb
automateit-0.71031.2 lib/automateit/address_manager/sunos.rb
automateit-0.71030 lib/automateit/address_manager/sunos.rb
automateit-0.71021 lib/automateit/address_manager/sunos.rb
automateit-0.71101.2 lib/automateit/address_manager/sunos.rb
automateit-0.71102 lib/automateit/address_manager/sunos.rb
automateit-0.71103 lib/automateit/address_manager/sunos.rb
automateit-0.71031 lib/automateit/address_manager/sunos.rb
automateit-0.71101 lib/automateit/address_manager/sunos.rb
automateit-0.71101.1 lib/automateit/address_manager/sunos.rb