Class: Dependabot::Uv::FileFetcher::WorkspaceFetcher
- Inherits:
-
Object
- Object
- Dependabot::Uv::FileFetcher::WorkspaceFetcher
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/uv/file_fetcher/workspace_fetcher.rb
Constant Summary collapse
- README_FILENAMES =
T.let(%w(README.md README.rst README.txt README).freeze, T::Array[String])
Instance Method Summary collapse
-
#initialize(file_fetcher, pyproject) ⇒ WorkspaceFetcher
constructor
A new instance of WorkspaceFetcher.
- #license_files ⇒ Object
- #uv_sources_workspace_dependencies ⇒ Object
- #version_source_files ⇒ Object
- #workspace_member_files ⇒ Object
Constructor Details
#initialize(file_fetcher, pyproject) ⇒ WorkspaceFetcher
Returns a new instance of WorkspaceFetcher.
23 24 25 26 27 |
# File 'lib/dependabot/uv/file_fetcher/workspace_fetcher.rb', line 23 def initialize(file_fetcher, pyproject) @file_fetcher = file_fetcher @pyproject = pyproject @parsed_pyproject = T.let(nil, T.nilable(T::Hash[String, T.untyped])) end |
Instance Method Details
#license_files ⇒ Object
56 57 58 59 60 61 62 63 64 65 |
# File 'lib/dependabot/uv/file_fetcher/workspace_fetcher.rb', line 56 def license_files return [] unless @pyproject workspace_member_paths.flat_map do |member_path| member_pyproject = fetch_workspace_member_pyproject(member_path) fetch_license_files_for(member_path, member_pyproject) rescue Dependabot::DependencyFileNotFound [] end end |
#uv_sources_workspace_dependencies ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/dependabot/uv/file_fetcher/workspace_fetcher.rb', line 68 def uv_sources_workspace_dependencies return [] unless @pyproject uv_sources = parsed_pyproject.dig("tool", "uv", "sources") return [] unless uv_sources uv_sources.filter_map do |name, source_config| if source_config.is_a?(Hash) && source_config["workspace"] == true { name: T.cast(name, String), file: @pyproject.name } end end end |
#version_source_files ⇒ Object
44 45 46 47 48 49 50 51 52 53 |
# File 'lib/dependabot/uv/file_fetcher/workspace_fetcher.rb', line 44 def version_source_files return [] unless @pyproject workspace_member_paths.flat_map do |member_path| member_pyproject = fetch_workspace_member_pyproject(member_path) fetch_version_source_files_for(member_path, member_pyproject) rescue Dependabot::DependencyFileNotFound [] end end |
#workspace_member_files ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/dependabot/uv/file_fetcher/workspace_fetcher.rb', line 30 def workspace_member_files return [] unless @pyproject workspace_member_paths.flat_map do |member_path| member_pyproject = fetch_workspace_member_pyproject(member_path) member_readmes = fetch_readme_files_for(member_path, member_pyproject) [member_pyproject] + member_readmes rescue Dependabot::DependencyFileNotFound [] end end |