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.



639
640
641
642
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 639

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



644
645
646
647
648
649
650
651
652
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 644

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.



630
631
632
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 630

def definition
  @definition
end

Instance Method Details

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

Returns:

  • (Boolean)


654
655
656
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 654

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