Class: Dependabot::Sbt::Requirement
- Inherits:
-
Maven::Shared::SharedRequirement
- Object
- Maven::Shared::SharedRequirement
- Dependabot::Sbt::Requirement
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/sbt/requirement.rb
Overview
SBT typically uses exact versions (“org” % “artifact” % “1.2.3”), but Maven-style version ranges are valid since artifacts resolve from Maven repositories.
Constant Summary collapse
- PATTERN_RAW =
T.let("\\s*(#{quoted})?\\s*(#{Sbt::Version::VERSION_PATTERN})\\s*".freeze, String)
- PATTERN =
T.let(/\A#{PATTERN_RAW}\z/, Regexp)
- RUBY_STYLE_PATTERN =
T.let(/\A\s*(#{quoted})\s*(#{Sbt::Version::VERSION_PATTERN})\s*\z/, Regexp)
Class Method Summary collapse
- .parse(obj) ⇒ Object
- .pattern ⇒ Object
- .requirements_array(requirement_string) ⇒ Object
- .ruby_style_pattern ⇒ Object
Instance Method Summary collapse
Class Method Details
.parse(obj) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/dependabot/sbt/requirement.rb', line 35 def self.parse(obj) return ["=", Sbt::Version.new(obj.to_s)] if obj.is_a?(Gem::Version) unless (matches = PATTERN.match(obj.to_s)) msg = "Illformed requirement [#{obj.inspect}]" raise BadRequirementError, msg end return DefaultRequirement if matches[1] == ">=" && matches[2] == "0" [matches[1] || "=", Sbt::Version.new(T.must(matches[2]))] end |
.pattern ⇒ Object
25 26 27 |
# File 'lib/dependabot/sbt/requirement.rb', line 25 def self.pattern PATTERN end |
.requirements_array(requirement_string) ⇒ Object
49 50 51 52 53 |
# File 'lib/dependabot/sbt/requirement.rb', line 49 def self.requirements_array(requirement_string) split_java_requirement(requirement_string).map do |str| new(str) end end |
.ruby_style_pattern ⇒ Object
30 31 32 |
# File 'lib/dependabot/sbt/requirement.rb', line 30 def self.ruby_style_pattern RUBY_STYLE_PATTERN end |