You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: load_from_disk.rb
    path of file: ./repos/boxcars/lib/boxcars/vector_store/hnswlib
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

require 'fileutils'
require 'hnswlib'
require 'json'

module Boxcars
  module VectorStore
    module Hnswlib
      class LoadFromDisk
        include VectorStore

        # params:
        # base_dir_path: string (absolute path to the directory containing the index_file_path and json_doc_file_path),
        # index_file
    
        def validate_file_existence(base_dir, file_path, name)
          file =
            base_dir.to_s.empty? ? file_path : File.join(base_dir, file_path)
          complete_path = File.absolute_path(file)

          raise raise_argument_error("#{name} does not exist at #{complete_path}") unless File.exist?(complete_path)

          complete_path
        end

        def load_as_hnsw_vectors(vectors)
          hnsw_vectors = []
          vectors.each do |vector|
            hnsw_vector = Document.new(
              content: vector[:document],
              embedding: vector[:embedding],
              metadata: vector[:metadata]
            )
            if vector[:metadata][:doc_id]
              hnsw_vectors[vector[:metadata][:doc_id]] = hnsw_vector
            else
              hnsw_vectors << hnsw_vector
            end
          end
          hnsw_vectors
        end