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
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 |
# File 'lib/inferno/dsl/fhir_validation.rb', line 270 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
257 258 259 260 261 262 263 264 265 266 |
# File 'lib/inferno/dsl/fhir_validation.rb', line 257 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 |