Class: Dependabot::Bazel::FileFetcher::BzlFileFetcher

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/bazel/file_fetcher/bzl_file_fetcher.rb

Overview

Fetches .bzl files and their dependencies recursively. Handles load() statements to build a complete dependency graph.

Instance Method Summary collapse

Constructor Details

#initialize(module_file:, fetcher:) ⇒ BzlFileFetcher

Returns a new instance of BzlFileFetcher.



21
22
23
24
25
# File 'lib/dependabot/bazel/file_fetcher/bzl_file_fetcher.rb', line 21

def initialize(module_file:, fetcher:)
  @module_file = module_file
  @fetcher = fetcher
  @visited_bzl_files = T.let(Set.new, T::Set[String])
end

Instance Method Details

#fetch_bzl_filesObject



28
29
30
31
32
# File 'lib/dependabot/bazel/file_fetcher/bzl_file_fetcher.rb', line 28

def fetch_bzl_files
  content = T.must(@module_file.content)
  bzl_file_paths = extract_bzl_file_paths(content)
  fetch_bzl_files_recursively(bzl_file_paths)
end