Class: Ukiryu::Definition::VersionResolver::Constraint
- Inherits:
-
Object
- Object
- Ukiryu::Definition::VersionResolver::Constraint
- Defined in:
- lib/ukiryu/definition/version_resolver.rb
Overview
Version constraint structure
Instance Attribute Summary collapse
-
#operator ⇒ Object
readonly
Returns the value of attribute operator.
-
#raw ⇒ Object
readonly
Returns the value of attribute raw.
-
#version ⇒ Object
readonly
Returns the value of attribute version.
Class Method Summary collapse
-
.exact(version) ⇒ Object
Exact version constraint.
-
.max(version) ⇒ Object
Maximum version constraint (inclusive).
-
.min(version) ⇒ Object
Minimum version constraint (inclusive).
-
.pessimistic(version) ⇒ Object
Pessimistic version constraint.
-
.range(min_version, max_version) ⇒ Object
Range constraint.
Instance Method Summary collapse
-
#initialize(operator, version, raw = nil) ⇒ Constraint
constructor
A new instance of Constraint.
- #to_s ⇒ Object
Constructor Details
#initialize(operator, version, raw = nil) ⇒ Constraint
Returns a new instance of Constraint.
16 17 18 19 20 |
# File 'lib/ukiryu/definition/version_resolver.rb', line 16 def initialize(operator, version, raw = nil) @operator = operator @version = version @raw = raw || "#{operator} #{version}" end |
Instance Attribute Details
#operator ⇒ Object (readonly)
Returns the value of attribute operator.
14 15 16 |
# File 'lib/ukiryu/definition/version_resolver.rb', line 14 def operator @operator end |
#raw ⇒ Object (readonly)
Returns the value of attribute raw.
14 15 16 |
# File 'lib/ukiryu/definition/version_resolver.rb', line 14 def raw @raw end |
#version ⇒ Object (readonly)
Returns the value of attribute version.
14 15 16 |
# File 'lib/ukiryu/definition/version_resolver.rb', line 14 def version @version end |
Class Method Details
.exact(version) ⇒ Object
Exact version constraint
23 24 25 |
# File 'lib/ukiryu/definition/version_resolver.rb', line 23 def self.exact(version) new(:==, version, version) end |
.max(version) ⇒ Object
Maximum version constraint (inclusive)
33 34 35 |
# File 'lib/ukiryu/definition/version_resolver.rb', line 33 def self.max(version) new(:<=, version) end |
.min(version) ⇒ Object
Minimum version constraint (inclusive)
28 29 30 |
# File 'lib/ukiryu/definition/version_resolver.rb', line 28 def self.min(version) new(:>=, version) end |
.pessimistic(version) ⇒ Object
Pessimistic version constraint
38 39 40 |
# File 'lib/ukiryu/definition/version_resolver.rb', line 38 def self.pessimistic(version) new('~>'.to_sym, version) end |
.range(min_version, max_version) ⇒ Object
Range constraint
43 44 45 46 |
# File 'lib/ukiryu/definition/version_resolver.rb', line 43 def self.range(min_version, max_version) # This is represented as two constraints internally [new(:>=, min_version), new(:<, max_version)] end |
Instance Method Details
#to_s ⇒ Object
48 49 50 |
# File 'lib/ukiryu/definition/version_resolver.rb', line 48 def to_s @raw end |