Sha256: 189fc4d2e50cbd04227fc8779bb73af82421cd0a7e38f3d5e571aa1fda459480

Contents?: true

Size: 1.11 KB

Versions: 2

Compression:

Stored size: 1.11 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(node_id id state interface network netmask broadcast).map(&:to_sym)

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

    include TestLab::Network::Actions
    include TestLab::Network::Bind
    include TestLab::Network::Lifecycle
    include TestLab::Network::Status

    extend  TestLab::Network::ClassMethods

    include TestLab::Utility::Misc

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

    attribute   :address
    attribute   :bridge

    attribute   :config


    def initialize(*args)
      super(*args)

      @ui     = TestLab.ui
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
testlab-0.4.0 lib/testlab/network.rb
testlab-0.3.1 lib/testlab/network.rb