Class: Inferno::DSL::FHIRResourceValidation::ValidationContext

Inherits:
Object
  • Object
show all
Defined in:
lib/inferno/dsl/fhir_resource_validation.rb

Constant Summary collapse

VALIDATIONCONTEXT_DEFAULTS =
{
  sv: '4.0.1',
  doNative: false,
  extensions: ['any'],
  disableDefaultResourceFetcher: true
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(definition) ⇒ ValidationContext

Returns a new instance of ValidationContext.



386
387
388
389
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 386

def initialize(definition, &)
  @definition = VALIDATIONCONTEXT_DEFAULTS.merge(definition.deep_symbolize_keys)
  instance_eval(&) if block_given?
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_name, *args) ⇒ Object



392
393
394
395
396
397
398
399
400
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 392

def method_missing(method_name, *args)
  # Interpret any other method as setting a field on validationContext.
  # Follow the same format as `Validator.url` here:
  # only set the value if one is provided.
  # args will be an empty array if no value is provided.
  definition[method_name] = args[0] unless args.empty?

  definition[method_name]
end

Instance Attribute Details

#definitionObject (readonly)

Returns the value of attribute definition.



376
377
378
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 376

def definition
  @definition
end

Instance Method Details

#respond_to_missing?(_method_name, _include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


403
404
405
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 403

def respond_to_missing?(_method_name, _include_private = false)
  true
end