Class: Generator

Inherits:
Object
  • Object
show all
Includes:
GeneratorGroupBasedMetadataModule, Naming
Defined in:
lib/au_ps_inferno/generator/generator.rb,
lib/au_ps_inferno/generator/naming.rb,
lib/au_ps_inferno/generator/constants.rb,
lib/au_ps_inferno/generator/metadata_manager.rb,
lib/au_ps_inferno/generator/test_file_generator.rb,
lib/au_ps_inferno/generator/ig_resources_extractor.rb,
lib/au_ps_inferno/generator/sections_validation_group_generator.rb,
lib/au_ps_inferno/generator/generator_group_based_metadata_module.rb

Overview

Generator for test suites targeting AU PS and IPS implementation guides.

This class automates extraction and persistence of IG resource metadata for use in test suite generation, including support for additional FHIR resource folders.

Examples:

Basic usage

generator = Generator.new('/path/to/ig')
generator.generate

With extra folder containing additional FHIR resources (e.g. extra StructureDefinitions)

generator = Generator.new('/path/to/ig', additional_resources_path: 'path/to/extra-ig-resources')
generator.generate

Defined Under Namespace

Modules: Constants, GeneratorGroupBasedMetadataModule, Naming Classes: IGResourcesExtractor, MetadataManager, SectionGroupData, SectionTestData, SectionsValidationGroupGenerator, SyntheticCapability, TestFileGenerator

Instance Method Summary collapse

Methods included from Naming

build_class_name, #build_class_name, build_id, #build_id, camel_case, #camel_case, remove_special_characters, #remove_special_characters

Constructor Details

#initialize(ig_path, additional_resources_path: nil) ⇒ Generator

Returns a new instance of Generator.



36
37
38
39
40
41
42
43
44
# File 'lib/au_ps_inferno/generator/generator.rb', line 36

def initialize(ig_path, additional_resources_path: nil)
  register_inferno_suite_generator_config
  @resources_manager = IGResourcesExtractor.new(
    ig_path,
    additional_resources_path: additional_resources_path
  )
  @metadata = MetadataManager.new(@resources_manager.ig_resources)
  @new_metadata = 
end

Instance Method Details

#generateObject



46
47
48
49
50
# File 'lib/au_ps_inferno/generator/generator.rb', line 46

def generate
  @resources_manager.extract
  
  update_ig_version_rb(@resources_manager.ig_version)
end