Sha256: 0439120184f288d8700e2aa4419dbd5e07218f25a4d54419eacde64bbbed3371

Contents?: true

Size: 1.43 KB

Versions: 4

Compression:

Stored size: 1.43 KB

Contents

require 'vagrant/errors'
require 'config_builder/class_registry'
require 'config_builder/model_delegator'

module ConfigBuilder

  module Model

    require 'config_builder/model/base'

    require 'config_builder/model/root'

    require 'config_builder/model/ssh'
    #require 'config_builder/model/host'

    require 'config_builder/model/vm'
    require 'config_builder/model/synced_folder'

    def self.generate(hash)
      ConfigBuilder::Model::Root.new_from_hash(hash)
    end

    module Network
      require 'config_builder/model/network/forwarded_port'
      require 'config_builder/model/network/private_network'
    end

    module Provider

      @registry = ConfigBuilder::ClassRegistry.new(:provider)

      def self.new_from_hash(hash)
        @registry.generate(hash)
      end

      def self.register(name, klass)
        @registry.register(name, klass)
      end

      require 'config_builder/model/provider/virtualbox'
      require 'config_builder/model/provider/vmware_fusion'
    end

    module Provisioner

      @registry = ConfigBuilder::ClassRegistry.new(:provisioner)

      def self.new_from_hash(hash)
        @registry.generate(hash)
      end

      def self.register(name, klass)
        @registry.register(name, klass)
      end

      require 'config_builder/model/provisioner/shell'
      require 'config_builder/model/provisioner/puppet'
      require 'config_builder/model/provisioner/puppet_server'
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vagrant-config_builder-0.10.1 lib/config_builder/model.rb
vagrant-config_builder-0.10.0 lib/config_builder/model.rb
vagrant-config_builder-0.9.0 lib/config_builder/model.rb
vagrant-config_builder-0.8.0 lib/config_builder/model.rb