Class: Dependabot::Uv::FileParser::PythonRequirementParser
- Inherits:
-
Object
- Object
- Dependabot::Uv::FileParser::PythonRequirementParser
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/uv/file_parser/python_requirement_parser.rb
Instance Attribute Summary collapse
-
#dependency_files ⇒ Object
readonly
Returns the value of attribute dependency_files.
Instance Method Summary collapse
- #imputed_requirements ⇒ Object
-
#initialize(dependency_files:) ⇒ PythonRequirementParser
constructor
A new instance of PythonRequirementParser.
- #user_specified_requirements ⇒ Object
Constructor Details
#initialize(dependency_files:) ⇒ PythonRequirementParser
Returns a new instance of PythonRequirementParser.
24 25 26 |
# File 'lib/dependabot/uv/file_parser/python_requirement_parser.rb', line 24 def initialize(dependency_files:) @dependency_files = dependency_files end |
Instance Attribute Details
#dependency_files ⇒ Object (readonly)
Returns the value of attribute dependency_files.
21 22 23 |
# File 'lib/dependabot/uv/file_parser/python_requirement_parser.rb', line 21 def dependency_files @dependency_files end |
Instance Method Details
#imputed_requirements ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/dependabot/uv/file_parser/python_requirement_parser.rb', line 41 def imputed_requirements requirement_files.flat_map do |file| T.must(file.content).lines .select { |l| l.include?(";") && l.include?("python") } .filter_map { |l| l.match(/python_version(?<req>.*?["'].*?['"])/) } .map { |re| T.must(re.named_captures.fetch("req")).gsub(/['"]/, "") } .select { |r| valid_requirement?(r) } end end |
#user_specified_requirements ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/dependabot/uv/file_parser/python_requirement_parser.rb', line 29 def user_specified_requirements [ pyproject_python_requirement, pip_compile_python_requirement, python_version_file_version, runtime_file_python_version ].compact end |