Class: Dependabot::Utils::Php::Requirement
- Inherits:
-
Gem::Requirement
- Object
- Gem::Requirement
- Dependabot::Utils::Php::Requirement
- Defined in:
- lib/dependabot/utils/php/requirement.rb
Constant Summary collapse
- AND_SEPARATOR =
/(?<=[a-zA-Z0-9*])(?<!\sas)[\s,]+(?![\s,]*[|-]|as)/.freeze
- OR_SEPARATOR =
/(?<=[a-zA-Z0-9*])[\s,]*\|\|?\s*/.freeze
Class Method Summary collapse
- .parse(obj) ⇒ Object
-
.requirements_array(requirement_string) ⇒ Object
Returns an array of requirements.
Instance Method Summary collapse
-
#initialize(*requirements) ⇒ Requirement
constructor
A new instance of Requirement.
Constructor Details
#initialize(*requirements) ⇒ Requirement
Returns a new instance of Requirement.
26 27 28 29 30 31 32 33 |
# File 'lib/dependabot/utils/php/requirement.rb', line 26 def initialize(*requirements) requirements = requirements.flatten. flat_map { |req_string| req_string.split(AND_SEPARATOR) }. flat_map { |req| convert_php_constraint_to_ruby_constraint(req) } super(requirements) end |
Class Method Details
.parse(obj) ⇒ Object
13 14 15 16 |
# File 'lib/dependabot/utils/php/requirement.rb', line 13 def self.parse(obj) new_obj = obj.gsub(/@\w+/, "").gsub(/[a-z0-9\-_\.]*\sas\s+/i, "") super(new_obj) end |
.requirements_array(requirement_string) ⇒ Object
Returns an array of requirements. At least one requirement from the returned array must be satisfied for a version to be valid.
20 21 22 23 24 |
# File 'lib/dependabot/utils/php/requirement.rb', line 20 def self.requirements_array(requirement_string) requirement_string.strip.split(OR_SEPARATOR).map do |req_string| new(req_string) end end |