Class: Dependabot::Bundler::Requirement
- Inherits:
-
Requirement
- Object
- Requirement
- Dependabot::Bundler::Requirement
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/bundler/requirement.rb
Constant Summary collapse
- GEM_DEP_SPLIT =
T.let(/\A(?<name>[a-zA-Z0-9_\-]+):(?<version>.+)\z/, Regexp)
Class Method Summary collapse
- .parse_dep_string(dep_string) ⇒ Object
- .requirements_array(requirement_string) ⇒ Object
- .satisfied_by?(req, version) ⇒ Boolean
Instance Method Summary collapse
-
#initialize(*requirements) ⇒ Requirement
constructor
A new instance of Requirement.
Constructor Details
#initialize(*requirements) ⇒ Requirement
Returns a new instance of Requirement.
65 66 67 68 69 70 71 |
# File 'lib/dependabot/bundler/requirement.rb', line 65 def initialize(*requirements) requirements = requirements.flatten.flat_map do |req_string| T.must(req_string).split(",").map(&:strip) end super(requirements) end |
Class Method Details
.parse_dep_string(dep_string) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/dependabot/bundler/requirement.rb', line 30 def self.parse_dep_string(dep_string) stripped = dep_string.strip return nil if stripped.empty? match = stripped.match(GEM_DEP_SPLIT) return nil unless match name = T.must(match[:name]) constraint = T.must(match[:version]).strip return nil if constraint.empty? version = extract_version(constraint) { name: name, normalised_name: name, version: version, requirement: constraint, extras: nil } end |
.requirements_array(requirement_string) ⇒ Object
25 26 27 |
# File 'lib/dependabot/bundler/requirement.rb', line 25 def self.requirements_array(requirement_string) [new(requirement_string)] end |
.satisfied_by?(req, version) ⇒ Boolean
17 18 19 |
# File 'lib/dependabot/bundler/requirement.rb', line 17 def self.satisfied_by?(req, version) new(req[:requirement]).satisfied_by?(version) end |