Sha256: c15ef9e909551fc392879e409e7b872ed72f7435f29ffbf8421ed16348fdb222

Contents?: true

Size: 1.35 KB

Versions: 47

Compression:

Stored size: 1.35 KB

Contents

class TestLab

  # Network Error Class
  class NetworkError < TestLabError; end

  # Network Class
  #
  # @author Zachary Patten <zachary AT jovelabs DOT com>
  class Network < ZTK::DSL::Base
    STATUS_KEYS   = %w(id node_id state interface network netmask broadcast provisioners).map(&:to_sym)

    # Sub-Modules
    autoload :Actions,      'testlab/network/actions'
    autoload :Bind,         'testlab/network/bind'
    autoload :ClassMethods, 'testlab/network/class_methods'
    autoload :Provision,    'testlab/network/provision'
    autoload :Status,       'testlab/network/status'

    include TestLab::Network::Actions
    include TestLab::Network::Bind
    include TestLab::Network::Provision
    include TestLab::Network::Status

    extend  TestLab::Network::ClassMethods

    include TestLab::Support::Lifecycle

    include TestLab::Utility::Misc

    # Associations and Attributes
    belongs_to  :node,          :class_name => 'TestLab::Node'
    has_many    :interfaces,    :class_name => 'TestLab::Interface'

    attribute   :provisioners,  :default => Array.new
    attribute   :config,        :default => Hash.new

    attribute   :address
    attribute   :bridge


    def initialize(*args)
      @ui = TestLab.ui

      @ui.logger.debug { "Loading Network" }
      super(*args)
      @ui.logger.debug { "Network '#{self.id}' Loaded" }
    end

  end

end

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
testlab-1.21.1 lib/testlab/network.rb
testlab-1.21.0 lib/testlab/network.rb
testlab-1.20.6 lib/testlab/network.rb
testlab-1.20.5 lib/testlab/network.rb
testlab-1.20.4 lib/testlab/network.rb
testlab-1.20.3 lib/testlab/network.rb
testlab-1.20.2 lib/testlab/network.rb
testlab-1.20.1 lib/testlab/network.rb
testlab-1.20.0 lib/testlab/network.rb
testlab-1.19.0 lib/testlab/network.rb
testlab-1.18.1 lib/testlab/network.rb
testlab-1.18.0 lib/testlab/network.rb
testlab-1.17.0 lib/testlab/network.rb
testlab-1.16.1 lib/testlab/network.rb
testlab-1.16.0 lib/testlab/network.rb
testlab-1.15.1 lib/testlab/network.rb
testlab-1.15.0 lib/testlab/network.rb
testlab-1.14.0 lib/testlab/network.rb
testlab-1.13.0 lib/testlab/network.rb
testlab-1.12.0 lib/testlab/network.rb