Sha256: 8f5330fb528a9b6c57198623dcdc2f48b378fb8e515782f3e53555bee6c589d9

Contents?: true

Size: 753 Bytes

Versions: 10

Compression:

Stored size: 753 Bytes

Contents

# == AddressManager::BSD
#
# An AddressManager driver for operating systems using a BSD-like ifconfig.
# Driver provides querying addresses and interfaces.
class AutomateIt::AddressManager::BSD < AutomateIt::AddressManager::BaseDriver
  def self.token
    :bsd
  end

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

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

  # See AddressManager#interfaces
  def interfaces()
    _raise_unless_available
    return `ifconfig -a`.scan(/^([^\s]+):\s+/s).flatten
  end

  # See AddressManager#addresses
  def addresses()
    _raise_unless_available
    return `ifconfig -a`.scan(/\s+inet\s+([^\s]+)\s+/).flatten
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

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