Sha256: 4fda5b24fc103712a1296e611c5a1d8607ff0c79db166ea414d4dc5657d7a5d6

Contents?: true

Size: 1.12 KB

Versions: 1

Compression:

Stored size: 1.12 KB

Contents

module VagrantVbguest

  class Config < Vagrant::Config::Base

    module Attributes
      attr_accessor :iso_path, :auto_update, :no_install, :no_remote
    end

    class << self
      include Attributes

      def auto_update; @auto_update.nil? ? true  : @auto_update end
      def no_install;  @no_install.nil?  ? false : @no_install  end
      def no_remote;   @no_remote.nil?   ? false : @no_remote   end

      def iso_path
        return nil if !@iso_path || @iso_path == :auto
        @iso_path
      end
    end

    include Attributes

    def auto_update; @auto_update.nil? ? self.class.auto_update : @auto_update end
    def no_install;  @no_install.nil?  ? self.class.no_install  : @no_install  end
    def no_remote;   @no_remote.nil?   ? self.class.no_remote   : @no_remote   end

    def iso_path
      return self.class.iso_path if !@iso_path || @iso_path == :auto
      @iso_path
    end

    # explicit hash, to get symbols in hash keys
    def to_hash
      {
        :iso_path => iso_path,
        :auto_update => auto_update,
        :no_install => no_install,
        :no_remote => no_remote
      }
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vagrant-vbguest-0.4.0 lib/vagrant-vbguest/config.rb