Module: Inferno::DSL::FHIRValidation::ClassMethods
- Defined in:
- lib/inferno/dsl/fhir_validation.rb
Instance Method Summary collapse
-
#find_validator(validator_name, selected_suite_options = nil) ⇒ Object
Find a particular validator.
-
#validator(name = :default, required_suite_options: nil, &block) ⇒ Object
Define a validator.
Instance Method Details
#find_validator(validator_name, selected_suite_options = nil) ⇒ Object
Find a particular validator. Looks through a runnable’s parents up to the suite to find a validator with a particular name
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 |
# File 'lib/inferno/dsl/fhir_validation.rb', line 220 def find_validator(validator_name, = nil) validators = fhir_validators[validator_name] || Array.wrap(parent&.find_validator(validator_name, )) validator = if .present? validators.find do |possible_validator| possible_validator.requirements.nil? || >= possible_validator.requirements end else validators.first end raise Exceptions::ValidatorNotFoundException, validator_name if validator.nil? validator end |
#validator(name = :default, required_suite_options: nil, &block) ⇒ Object
Define a validator
207 208 209 210 211 212 213 214 215 216 |
# File 'lib/inferno/dsl/fhir_validation.rb', line 207 def validator(name = :default, required_suite_options: nil, &block) current_validators = fhir_validators[name] || [] new_validator = Inferno::DSL::FHIRValidation::Validator.new(, &block) current_validators.reject! { |validator| validator.requirements == } current_validators << new_validator fhir_validators[name] = current_validators end |