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.



578
579
580
581
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 578

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



583
584
585
586
587
588
589
590
591
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 583

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.



569
570
571
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 569

def definition
  @definition
end

Instance Method Details

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

Returns:

  • (Boolean)


593
594
595
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 593

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