Sha256: 873ef91419a31c254c6b602f84672c27222a067d05f73817f3730868e3519445

Contents?: true

Size: 824 Bytes

Versions: 7

Compression:

Stored size: 824 Bytes

Contents

class TestLab

  # Interface Error Class
  class InterfaceError < TestLabError; end

  # Interface Class
  #
  # @author Zachary Patten <zachary AT jovelabs DOT com>
  class Interface < ZTK::DSL::Base

    # Associations and Attributes
    belongs_to  :container, :class_name => 'TestLab::Container'
    belongs_to  :network,   :class_name => 'TestLab::Network'

    attribute   :address
    attribute   :mac
    attribute   :name

    attribute   :primary,   :default => false

    def initialize(*args)
      super(*args)

      @ui = TestLab.ui
    end

    def ip
      TestLab::Utility.ip(self.address)
    end

    def cidr
      TestLab::Utility.cidr(self.address)
    end

    def netmask
      TestLab::Utility.netmask(self.address)
    end

    def ptr
      TestLab::Utility.ptr(self.address)
    end

  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
testlab-0.4.6 lib/testlab/interface.rb
testlab-0.4.5 lib/testlab/interface.rb
testlab-0.4.4 lib/testlab/interface.rb
testlab-0.4.3 lib/testlab/interface.rb
testlab-0.4.2 lib/testlab/interface.rb
testlab-0.4.1 lib/testlab/interface.rb
testlab-0.4.0 lib/testlab/interface.rb