Module: DaVinciDTRTestKit::GeneratedProfileMetadata

Defined in:
lib/davinci_dtr_test_kit/cross_suite/generated_profile_metadata.rb

Overview

Loads and memoizes the Inferno::DSL::ProfileMetadata generated by Generator into cross_suite/generated///metadata.yml, so test classes don't each need to hand-roll their own file path and loading/memoization boilerplate.

Constant Summary collapse

GENERATED_DIR =
File.join(__dir__, 'generated').freeze

Class Method Summary collapse

Class Method Details

.cacheObject



18
19
20
# File 'lib/davinci_dtr_test_kit/cross_suite/generated_profile_metadata.rb', line 18

def self.cache
  @cache ||= {}
end

.for(version, profile) ⇒ Inferno::DSL::ProfileMetadata

Parameters:

  • version (String)

    eg 'v2.2.0'

  • profile (String)

    the generated metadata directory name, eg 'dtr_base_questionnaire'

Returns:

  • (Inferno::DSL::ProfileMetadata)


13
14
15
16
# File 'lib/davinci_dtr_test_kit/cross_suite/generated_profile_metadata.rb', line 13

def self.for(version, profile)
  cache[[version, profile]] ||=
    Inferno::DSL::ProfileMetadata.from_file(File.join(GENERATED_DIR, version, profile, 'metadata.yml'))
end