Class: Ukiryu::VersionCompatibility::RequirementParser

Inherits:
Object
  • Object
show all
Defined in:
lib/ukiryu/models/version_compatibility.rb

Overview

Requirement parser for semantic versioning

Instance Method Summary collapse

Constructor Details

#initialize(requirement) ⇒ RequirementParser

Parse a version requirement

Parameters:

  • requirement (String)

    the requirement string (e.g., “>= 2.30, < 3.0”)



76
77
78
79
# File 'lib/ukiryu/models/version_compatibility.rb', line 76

def initialize(requirement)
  @requirement = requirement
  @constraints = parse_requirements
end

Instance Method Details

#satisfied_by?(version) ⇒ Boolean

Check if a version satisfies the requirements

Parameters:

  • version (String)

    the version to check

Returns:

  • (Boolean)

    true if satisfied



85
86
87
88
89
# File 'lib/ukiryu/models/version_compatibility.rb', line 85

def satisfied_by?(version)
  return true if @constraints.empty?

  @constraints.all? { |constraint| satisfied?(version, constraint) }
end