Class: Dependabot::GoModules::RequirementParser
- Inherits:
-
Object
- Object
- Dependabot::GoModules::RequirementParser
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/go_modules/requirement_parser.rb
Constant Summary collapse
- MODULE_PATH =
%r{[a-zA-Z0-9\-_.~]+(?:/[a-zA-Z0-9\-_.~]+)+}- GO_VERSION =
/v?#{Version::VERSION_PATTERN}/- GO_DEP_WITH_VERSION =
/\A\s*(?<name>#{MODULE_PATH})\s*@\s*(?<version>#{GO_VERSION})\s*\z/x- GO_DEP_WITHOUT_VERSION =
/\A\s*(?<name>#{MODULE_PATH})\s*\z/x
Class Method Summary collapse
Class Method Details
.parse(dependency_string) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/dependabot/go_modules/requirement_parser.rb', line 23 def self.parse(dependency_string) match = dependency_string.strip.match(GO_DEP_WITH_VERSION) return nil unless match name = T.must(match[:name]) raw_version = T.must(match[:version]) version = raw_version.delete_prefix("v") return nil unless Version.correct?(version) { name: name, normalised_name: normalise_name(name), version: version, requirement: raw_version, extras: nil, language: "golang", registry: nil } end |