Class: Dependabot::Python::FileParser::PythonRequirementParser
- Inherits:
-
Object
- Object
- Dependabot::Python::FileParser::PythonRequirementParser
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/python/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.
22 23 24 |
# File 'lib/dependabot/python/file_parser/python_requirement_parser.rb', line 22 def initialize(dependency_files:) @dependency_files = dependency_files end |
Instance Attribute Details
#dependency_files ⇒ Object (readonly)
Returns the value of attribute dependency_files.
19 20 21 |
# File 'lib/dependabot/python/file_parser/python_requirement_parser.rb', line 19 def dependency_files @dependency_files end |
Instance Method Details
#imputed_requirements ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/dependabot/python/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
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/dependabot/python/file_parser/python_requirement_parser.rb', line 27 def user_specified_requirements [ pipfile_python_requirement, pyproject_python_requirement, pip_compile_python_requirement, python_version_file_version, runtime_file_python_version, setup_file_requirement ].compact end |