Sha256: 7534696422da798a8e0ec67bd3d1cd53dd9594c69957419c36a42c4595a872a7

Contents?: true

Size: 758 Bytes

Versions: 14

Compression:

Stored size: 758 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 2>&1`.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

14 entries across 14 versions & 2 rubygems

Version Path
automate-it-0.9.2 lib/automateit/address_manager/bsd.rb
automate-it-0.9.1 lib/automateit/address_manager/bsd.rb
automate-it-0.9.0 lib/automateit/address_manager/bsd.rb
automateit-0.71221 lib/automateit/address_manager/bsd.rb
automateit-0.71112 lib/automateit/address_manager/bsd.rb
automateit-0.71219 lib/automateit/address_manager/bsd.rb
automateit-0.71220 lib/automateit/address_manager/bsd.rb
automateit-0.71104 lib/automateit/address_manager/bsd.rb
automateit-0.71111 lib/automateit/address_manager/bsd.rb
automateit-0.71226.1 lib/automateit/address_manager/bsd.rb
automateit-0.71226 lib/automateit/address_manager/bsd.rb
automateit-0.80116 lib/automateit/address_manager/bsd.rb
automateit-0.71230 lib/automateit/address_manager/bsd.rb
automateit-0.80624 lib/automateit/address_manager/bsd.rb