Class: CancerRegistryReportingTestKit::HdeaGenerator::ValidationTestGenerator
- Inherits:
-
Object
- Object
- CancerRegistryReportingTestKit::HdeaGenerator::ValidationTestGenerator
- Defined in:
- lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb
Instance Attribute Summary collapse
-
#base_output_dir ⇒ Object
Returns the value of attribute base_output_dir.
-
#group_metadata ⇒ Object
Returns the value of attribute group_metadata.
-
#medication_request_metadata ⇒ Object
Returns the value of attribute medication_request_metadata.
Class Method Summary collapse
Instance Method Summary collapse
- #base_output_file_name ⇒ Object
- #class_name ⇒ Object
- #conformance_expectation ⇒ Object
- #directory_name ⇒ Object
- #generate ⇒ Object
-
#initialize(group_metadata, medication_request_metadata = nil, base_output_dir:) ⇒ ValidationTestGenerator
constructor
A new instance of ValidationTestGenerator.
- #module_name ⇒ Object
- #output ⇒ Object
- #output_file_directory ⇒ Object
- #output_file_name ⇒ Object
- #profile_identifier ⇒ Object
- #profile_link ⇒ Object
- #profile_name ⇒ Object
- #profile_url ⇒ Object
- #profile_version ⇒ Object
- #resource_type ⇒ Object
- #section_name ⇒ Object
- #skip_if_empty ⇒ Object
- #template ⇒ Object
- #test_id ⇒ Object
Constructor Details
#initialize(group_metadata, medication_request_metadata = nil, base_output_dir:) ⇒ ValidationTestGenerator
Returns a new instance of ValidationTestGenerator.
22 23 24 25 26 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 22 def initialize(, = nil, base_output_dir:) self. = self. = self.base_output_dir = base_output_dir end |
Instance Attribute Details
#base_output_dir ⇒ Object
Returns the value of attribute base_output_dir.
20 21 22 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 20 def base_output_dir @base_output_dir end |
#group_metadata ⇒ Object
Returns the value of attribute group_metadata.
20 21 22 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 20 def @group_metadata end |
#medication_request_metadata ⇒ Object
Returns the value of attribute medication_request_metadata.
20 21 22 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 20 def @medication_request_metadata end |
Class Method Details
.generate(ig_metadata, base_output_dir) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 10 def generate(, base_output_dir) .groups .reject { |group| SpecialCases::IGNORE_FOR_GENERATION.include?(group.profile_url) } .reject { |group| SpecialCases::IGNORE_FOR_VALIDATION.include?(group.profile_url) } .each do |group| new(group, base_output_dir: base_output_dir).generate end end |
Instance Method Details
#base_output_file_name ⇒ Object
36 37 38 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 36 def base_output_file_name "#{class_name.underscore}.rb" end |
#class_name ⇒ Object
87 88 89 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 87 def class_name "#{Naming.upper_camel_case_for_profile()}ValidationTest" end |
#conformance_expectation ⇒ Object
99 100 101 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 99 def conformance_expectation read_interaction[:expectation] end |
#directory_name ⇒ Object
48 49 50 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 48 def directory_name Naming.snake_case_for_profile( || ) end |
#generate ⇒ Object
109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 109 def generate File.write(output_file_name, output) = { id: test_id, file_name: base_output_file_name } # if resource_type == 'Medication' # medication_request_metadata.add_test(**test_metadata) # else .add_test(**) # end end |
#module_name ⇒ Object
91 92 93 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 91 def module_name "HDEA#{.reformatted_version.upcase}" end |
#output ⇒ Object
32 33 34 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 32 def output @output ||= ERB.new(template).result(binding) end |
#output_file_directory ⇒ Object
40 41 42 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 40 def output_file_directory File.join(base_output_dir, profile_identifier) end |
#output_file_name ⇒ Object
44 45 46 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 44 def output_file_name File.join(output_file_directory, base_output_file_name) end |
#profile_identifier ⇒ Object
52 53 54 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 52 def profile_identifier Naming.snake_case_for_profile() end |
#profile_link ⇒ Object
79 80 81 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 79 def profile_link "#{profile_url}|#{profile_version}" end |
#profile_name ⇒ Object
71 72 73 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 71 def profile_name "#{.profile_name.chomp(' Profile')} profile" end |
#profile_url ⇒ Object
67 68 69 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 67 def profile_url .profile_url end |
#profile_version ⇒ Object
75 76 77 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 75 def profile_version .profile_version end |
#resource_type ⇒ Object
95 96 97 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 95 def resource_type .resource end |
#section_name ⇒ Object
56 57 58 59 60 61 62 63 64 65 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 56 def section_name raw = Naming.section_for_profile_url(profile_url)&.chomp('s') return unless raw.present? if raw.include?('element') "referenced in the #{raw}s" else "found in the #{raw}s" end end |
#skip_if_empty ⇒ Object
103 104 105 106 107 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 103 def skip_if_empty # Return true if a system must demonstrate at least one example of the resource type. # This drives omit vs. skip result statuses in this test. resource_type != 'Medication' end |
#template ⇒ Object
28 29 30 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 28 def template @template ||= File.read(File.join(__dir__, 'templates', 'validation.rb.erb')) end |
#test_id ⇒ Object
83 84 85 |
# File 'lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb', line 83 def test_id "ccrr_#{.reformatted_version}_#{profile_identifier}_validation_test" end |