Class: Inferno::Entities::Requirement
- Defined in:
- lib/inferno/entities/requirement.rb
Overview
A Requirement
represents the specific rule or behavior a runnable is testing.
Constant Summary collapse
- ATTRIBUTES =
[ :id, :requirement_set, :url, :requirement, :conformance, :actor, :sub_requirements, :conditionality ].freeze
Class Method Summary collapse
-
.expand_requirement_ids(requirement_id_string, default_set = nil) ⇒ Object
Expand a comma-delimited list of requirement id references into an Array of full requirement ids.
Instance Method Summary collapse
-
#initialize(params) ⇒ Requirement
constructor
A new instance of Requirement.
Methods inherited from Entity
Constructor Details
#initialize(params) ⇒ Requirement
Returns a new instance of Requirement.
21 22 23 24 25 |
# File 'lib/inferno/entities/requirement.rb', line 21 def initialize(params) super(params, ATTRIBUTES) self.requirement_set = id.split('@').first if requirement_set.blank? && id&.include?('@') end |
Class Method Details
.expand_requirement_ids(requirement_id_string, default_set = nil) ⇒ Object
Expand a comma-delimited list of requirement id references into an Array of full requirement ids
expand_requirement_ids(‘example-ig@1,3,5-7’) # => [‘example-ig@1’,’example-ig@3’,’example-ig@5’,’example-ig@6’,’example-ig@7’] expand_requirement_ids(‘1,3,5-7’, ‘example-ig’) # => [‘example-ig@1’,’example-ig@3’,’example-ig@5’,’example-ig@6’,’example-ig@7’]
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/inferno/entities/requirement.rb', line 40 def self.(requirement_id_string, default_set = nil) return [] if requirement_id_string.blank? current_set = default_set requirement_id_string .split(',') .map(&:strip) .flat_map do |requirement_string| current_set, requirement_string = requirement_string.split('@') if requirement_string.include?('@') requirement_ids = if requirement_string.include? '-' start_id, end_id = requirement_string.split('-') (start_id..end_id).to_a else [requirement_string] end requirement_ids.map { |id| "#{current_set}@#{id}" } end end |