def validate!
      logger.debug "Starting validation for #{description}"
      raise NotFound.new path unless File.exists? path
      raise NonDirectory.new path unless File.directory? path
      raise MissingBinary.new vagrant unless File.exists? vagrant
      raise MissingBinary.new vagrant unless File.executable? vagrant
      logger.info "Successfully validated #{description}"
      self
    end
def validate!
      logger.debug "Starting validation for #{description}"
      raise NotFound.new path unless File.exists? path
      raise NonDirectory.new path unless File.directory? path
      raise MissingBinary.new vagrant unless File.exists? vagrant
      raise MissingBinary.new vagrant unless File.executable? vagrant
      logger.info "Successfully validated #{description}"
      self
    end
Initialize an instance for a particular directory

   * path: The path to the Vagrant installation folder (optional,
           defaults to DEFAULT_PATH)
 Validates the data used for this instance

 Raises exceptions on failure:

   * +Derelict::Instance::NotFound+ if the instance is not found
   * +Derelict::Instance::NonDirectory+ if the path is a file,
     instead of a directory as expected
   * +Derelict::Instance::MissingBinary+ if the "vagrant" binary
     isn't in the expected location or is not executable