Class: Dependabot::Composer::UpdateChecker::VersionResolver
- Inherits:
-
Object
- Object
- Dependabot::Composer::UpdateChecker::VersionResolver
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/composer/update_checker/version_resolver.rb
Overview
rubocop:disable Metrics/ClassLength
Defined Under Namespace
Classes: MissingExtensions
Constant Summary collapse
- MISSING_EXPLICIT_PLATFORM_REQ_REGEX =
T.let( %r{ (?<=PHP\sextension\s)ext\-[^\s\/]+\s.*?\s(?=is|but)| (?<=requires\s)php(?:\-[^\s\/]+)?\s.*?\s(?=but) }x, Regexp )
- MISSING_IMPLICIT_PLATFORM_REQ_REGEX =
T.let( %r{ (?<!with|for|by)\sext\-[^\s\/]+\s.*?\s(?=->)| (?<=require\s)php(?:\-[^\s\/]+)?\s.*?\s(?=->) # composer v2 }x, Regexp )
- VERSION_REGEX =
T.let(/[0-9]+(?:\.[A-Za-z0-9\-_]+)*/, Regexp)
- SOURCE_TIMED_OUT_REGEX =
Example Timeout error from Composer 2.7.7: “curl error 28 while downloading example.com:81/packages.json: Failed to connect to example.com port 81 after 9853 ms: Connection timed out” # rubocop:disable Layout/LineLength
T.let(%r{curl error 28 while downloading (?<url>https?://.+/packages\.json): }, Regexp)
Instance Method Summary collapse
-
#initialize(credentials:, dependency:, dependency_files:, requirements_to_unlock:, latest_allowable_version:) ⇒ VersionResolver
constructor
A new instance of VersionResolver.
- #latest_resolvable_version ⇒ Object
Constructor Details
#initialize(credentials:, dependency:, dependency_files:, requirements_to_unlock:, latest_allowable_version:) ⇒ VersionResolver
Returns a new instance of VersionResolver.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/dependabot/composer/update_checker/version_resolver.rb', line 64 def initialize( credentials:, dependency:, dependency_files:, requirements_to_unlock:, latest_allowable_version: ) @credentials = credentials @dependency = dependency @dependency_files = dependency_files @requirements_to_unlock = requirements_to_unlock @latest_allowable_version = latest_allowable_version @composer_platform_extensions = T.let(initial_platform, T::Hash[String, T::Array[String]]) @error_handler = T.let(ComposerErrorHandler.new, ComposerErrorHandler) end |
Instance Method Details
#latest_resolvable_version ⇒ Object
81 82 83 84 85 86 |
# File 'lib/dependabot/composer/update_checker/version_resolver.rb', line 81 def latest_resolvable_version @latest_resolvable_version ||= T.let( fetch_latest_resolvable_version, T.nilable(Dependabot::Version) ) end |