Module: Bootprint::AdvisoryBundleMatcher
- Defined in:
- lib/bootprint/advisory_bundle_matcher.rb
Class Method Summary collapse
- .normalize_versions(value) ⇒ Object
- .value_in_set?(value, allowed) ⇒ Boolean
- .values_equal?(left, right) ⇒ Boolean
- .version_satisfies?(version, constraints) ⇒ Boolean
Class Method Details
.normalize_versions(value) ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/bootprint/advisory_bundle_matcher.rb', line 9 def normalize_versions(value) case value when nil then [] when Array then value.map(&:to_s) else [value.to_s] end end |
.value_in_set?(value, allowed) ⇒ Boolean
27 28 29 30 31 32 33 |
# File 'lib/bootprint/advisory_bundle_matcher.rb', line 27 def value_in_set?(value, allowed) case allowed when nil then true when Array then allowed.any? { |item| values_equal?(value, item) } else values_equal?(value, allowed) end end |
.values_equal?(left, right) ⇒ Boolean
35 36 37 |
# File 'lib/bootprint/advisory_bundle_matcher.rb', line 35 def values_equal?(left, right) left == right || left.to_s == right.to_s end |
.version_satisfies?(version, constraints) ⇒ Boolean
17 18 19 20 21 22 23 24 25 |
# File 'lib/bootprint/advisory_bundle_matcher.rb', line 17 def version_satisfies?(version, constraints) constraints = normalize_versions(constraints) return true if constraints.empty? gem_version = Gem::Version.new(version.to_s) Gem::Requirement.new(constraints).satisfied_by?(gem_version) rescue ArgumentError false end |