Sha256: 76810852ee93326e8f82d076c9a7c226d1aeacdd9e0f10a997c4740ee17e8347

Contents?: true

Size: 1.8 KB

Versions: 20

Compression:

Stored size: 1.8 KB

Contents

module VagrantPlugins
  module Invade
    module Validator
      module Plugin

        class HostManager

          attr_accessor :env
          attr_accessor :hostmanager

          DEFAULT = {
            'enabled' => true,
            'manage_host' => true,
            'ignore_private_ip' => false,
            'include_offline' => true,
            'aliases' => nil
          }

          def initialize(env, hostmanager)
            @env = env
            @hostmanager = hostmanager
          end

          def validate
            return nil unless @hostmanager

            @hostmanager['enabled'] =  Validator.validate_boolean(
              @hostmanager['enabled'], 'enabled', DEFAULT['enabled']
            )

            # MANAGE HOST (updates hosts /etc/hosts file)
            @hostmanager['manage_host'] = Validator.validate_boolean(
              @hostmanager['manage_host'], 'manage_host', DEFAULT['manage_host']
            )

            # IGNORE PRIVATE IP (machine's IP address is defined by either the static IP for a private network configuration or by the SSH host configuration)
            @hostmanager['ignore_private_ip'] = Validator.validate_boolean(
              @hostmanager['ignore_private_ip'], 'ignore_private_ip', DEFAULT['ignore_private_ip']
            )

            # INCLUDE OFFLINE (boxes that are up or have a private ip configured will be added to the hosts file)
            @hostmanager['include_offline'] = Validator.validate_boolean(
              @hostmanager['include_offline'], 'include_offline', DEFAULT['include_offline']
            )

            # ALIASES
            @hostmanager['aliases'] = Validator.validate_array(
              @hostmanager['aliases'], 'aliases', DEFAULT['aliases']
            )

            @hostmanager
          end
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
vagrant-invade-0.5.4 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.5.3 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.5.2 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.5.1 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.5.0 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.4.8 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.4.7 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.4.6 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.4.5 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.4.4 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.4.3 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.4.2 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.4.1 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.4.0 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.4.0.pre.alpha lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.3.4 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.3.3 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.3.2 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.3.0 lib/vagrant-invade/validator/plugin/hostmanager.rb
vagrant-invade-0.2.0 lib/vagrant-invade/validator/plugin/hostmanager.rb