Sha256: 1bb52a96460731cd185840325b50ccf2c2f783d1761a94c7809fae20d68d39f6
Contents?: true
Size: 1.62 KB
Versions: 2
Compression:
Stored size: 1.62 KB
Contents
class TestLab # Node Error Class class NodeError < TestLabError; end # Node Class # # @author Zachary Patten <zachary AT jovelabs DOT com> class Node < ZTK::DSL::Base STATUS_KEYS = %w(id instance_id state user ip port provider provisioners).map(&:to_sym) # Sub-Modules autoload :Actions, 'testlab/node/actions' autoload :ClassMethods, 'testlab/node/class_methods' autoload :Lifecycle, 'testlab/node/lifecycle' autoload :LXC, 'testlab/node/lxc' autoload :MethodMissing, 'testlab/node/method_missing' autoload :SSH, 'testlab/node/ssh' autoload :Status, 'testlab/node/status' include TestLab::Node::Actions include TestLab::Node::Lifecycle include TestLab::Node::LXC include TestLab::Node::MethodMissing include TestLab::Node::SSH include TestLab::Node::Status extend TestLab::Node::ClassMethods include TestLab::Utility::Misc # Associations and Attributes belongs_to :labfile, :class_name => 'TestLab::Labfile' has_many :containers, :class_name => 'TestLab::Container' has_many :networks, :class_name => 'TestLab::Network' attribute :provider attribute :provisioners, :default => Array.new attribute :config, :default => Hash.new def initialize(*args) @ui = TestLab.ui super(*args) @provider = self.provider.new(self.config, @ui) raise NodeError, "You must specify a provider class!" if self.provider.nil? end def config_dir self.labfile.config_dir end def repo_dir self.labfile.repo_dir end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
testlab-0.7.3 | lib/testlab/node.rb |
testlab-0.7.2 | lib/testlab/node.rb |