Module: RSMP::Validator::VersionFilter
- Defined in:
- lib/rsmp/validator/version_filter.rb
Overview
Helpers for filtering tests by RSMP core and SXL version.
Class Method Summary collapse
- .configured_sxl(name = nil) ⇒ Object
-
.core_matches?(requirement) ⇒ Boolean
Check if the configured core version satisfies the given requirement.
-
.sxl_matches?(requirement, name: nil) ⇒ Boolean
Check if the configured SXL version satisfies the given requirement.
-
.version_satisfies?(requirement, version_str) ⇒ Boolean
Helper that does the version comparison.
Class Method Details
.configured_sxl(name = nil) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/rsmp/validator/version_filter.rb', line 27 def self.configured_sxl(name = nil) sxls = RSMP::Validator.config['sxls'] || [] return sxls.first unless name sxls.find { |sxl| sxl['name'] == name.to_s } end |
.core_matches?(requirement) ⇒ Boolean
Check if the configured core version satisfies the given requirement.
15 16 17 |
# File 'lib/rsmp/validator/version_filter.rb', line 15 def self.core_matches?(requirement) version_satisfies?(requirement, RSMP::Validator.config['core_version']) end |
.sxl_matches?(requirement, name: nil) ⇒ Boolean
Check if the configured SXL version satisfies the given requirement.
8 9 10 11 |
# File 'lib/rsmp/validator/version_filter.rb', line 8 def self.sxl_matches?(requirement, name: nil) sxl = configured_sxl(name) version_satisfies?(requirement, sxl && sxl['version']) end |
.version_satisfies?(requirement, version_str) ⇒ Boolean
Helper that does the version comparison.
20 21 22 23 24 25 |
# File 'lib/rsmp/validator/version_filter.rb', line 20 def self.version_satisfies?(requirement, version_str) return false unless version_str version = Gem::Version.new(version_str) Gem::Requirement.new(requirement).satisfied_by?(version) end |