class Chef::Sugar::Constraints::Constraint
This class is a wrapper around a version requirement that adds a nice DSL
for comparing constraints:
@example Comparing a single constraint
Constraint.new('~> 1.2.3').satisfied_by?('1.2.7')
@example Comparing multiple constraints
Constraint.new('> 1.2.3', '< 2.0.0').satisfied_by?('1.2.7')
Public Class Methods
new(*constraints)
click to toggle source
Create a new constraint object.
@param [String, Array
<String>] constraints
the list of constraints
# File lib/chef/sugar/constraints.rb, line 37 def initialize(*constraints) @requirement = Gem::Requirement.new(*constraints) end
Public Instance Methods
satisfied_by?(version)
click to toggle source
Determine if the given version string is satisfied by this constraint or group of constraints.
@example Given a satisified constraint
Constraint.new('~> 1.2.0').satisfied_by?('1.2.5') #=> true
@example Given an unsatisfied constraint
Constraint.new('~> 1.2.0').satisfied_by?('2.0.0') #=> false
@param [String] version
the version to compare
@return [Boolean]
true if the constraint is satisfied, false otherwise
# File lib/chef/sugar/constraints.rb, line 58 def satisfied_by?(version) @requirement.satisfied_by?(Gem::Version.new(version)) end