Sha256: a8ae53dd4db66313f9ec9d8a18386de6550d370bcd125adbb982f2d72265d89f

Contents?: true

Size: 1.18 KB

Versions: 2

Compression:

Stored size: 1.18 KB

Contents

require 'config_builder/model'

# Integration with ConfigBuilder 1.x and newer
#
# @since 2.7.0
module VagrantHosts
  module ConfigBuilder
    class Model < ::ConfigBuilder::Model::Provisioner::Base

      # @!attribute [rw] hosts
      def_model_attribute :hosts
      # @!attribute [rw] autoconfigure
      def_model_attribute :autoconfigure
      # @!attribute [rw] add_localhost_hostnames
      def_model_attribute :add_localhost_hostnames
      # @!attribute [rw] sync_hosts
      def_model_attribute :sync_hosts
      # @!attribute [rw] exports
      def_model_attribute :exports
      # @!attribute [rw] exports
      def_model_attribute :imports

      # @private
      def configure_exports(config, val)
        val.each do |k, v|
          config.exports[k] ||= []
          config.exports[k] += v
        end
      end

      # @private
      def configure_imports(config, val)
        config.imports += val
        config.imports.uniq!
      end

      # @private
      def configure_hosts(config, val)
        val.each do |(address, aliases)|
          config.add_host(address, aliases)
        end
      end

      ::ConfigBuilder::Model::Provisioner.register('hosts', self)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vagrant-hosts-2.8.3 lib/vagrant-hosts/config_builder/1_x.rb
vagrant-hosts-2.8.2 lib/vagrant-hosts/config_builder/1_x.rb