Class: USCoreTestKit::Generator::VerifiesRequirements
- Inherits:
-
Object
- Object
- USCoreTestKit::Generator::VerifiesRequirements
- Defined in:
- lib/us_core_test_kit/generator/verifies_requirements.rb
Constant Summary collapse
- V610 =
'USCoreV610'
- V700 =
'USCoreV700'
- V800 =
'USCoreV800'
- MIN_VERSION =
V610
- MODULE_NAMESPACE_MAP =
{ V610 => 'hl7.fhir.us.core_6.1.0', V700 => 'hl7.fhir.us.core_7.0.0', V800 => 'hl7.fhir.us.core_8.0.0' }.freeze
Instance Attribute Summary collapse
-
#requirement_lists ⇒ Object
Returns the value of attribute requirement_lists.
Instance Method Summary collapse
- #create_verifies_requirements(module_name, class_name, indent_spaces = 6) ⇒ Object
- #create_verifies_requirements_from_ids(module_name, ids, indent_spaces = 6) ⇒ Object
- #get_ids(module_name, class_name) ⇒ Object
- #has_requirements?(module_name, class_name) ⇒ Boolean
-
#initialize ⇒ VerifiesRequirements
constructor
A new instance of VerifiesRequirements.
Constructor Details
#initialize ⇒ VerifiesRequirements
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/us_core_test_kit/generator/verifies_requirements.rb', line 19 def initialize @requirement_lists = { V610 => { :base => [], :map => {}, :remove => [] }, V700 => { :base => [], :map => {}, :remove => [] }, V800 => { :base => [], :map => {}, :remove => [] } } end |
Instance Attribute Details
#requirement_lists ⇒ Object
Returns the value of attribute requirement_lists.
5 6 7 |
# File 'lib/us_core_test_kit/generator/verifies_requirements.rb', line 5 def requirement_lists @requirement_lists end |
Instance Method Details
#create_verifies_requirements(module_name, class_name, indent_spaces = 6) ⇒ Object
67 68 69 70 71 72 73 74 |
# File 'lib/us_core_test_kit/generator/verifies_requirements.rb', line 67 def create_verifies_requirements(module_name, class_name, indent_spaces = 6) if module_name < MIN_VERSION return end ids = get_ids(module_name, class_name) create_verifies_requirements_from_ids(module_name, ids, indent_spaces) if ids.any? end |
#create_verifies_requirements_from_ids(module_name, ids, indent_spaces = 6) ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/us_core_test_kit/generator/verifies_requirements.rb', line 76 def create_verifies_requirements_from_ids(module_name, ids, indent_spaces = 6) if module_name < MIN_VERSION return end namespace = MODULE_NAMESPACE_MAP[module_name] verifies_requirements = ' ' * indent_spaces + "verifies_requirements " indent_spaces = verifies_requirements.length verifies_requirements += ids.map.with_index do |id, i| "'#{namespace}@#{id}'" + (i < ids.size - 1 ? ',' : '') end.join("\n" + ' ' * indent_spaces) verifies_requirements end |
#get_ids(module_name, class_name) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/us_core_test_kit/generator/verifies_requirements.rb', line 39 def get_ids(module_name, class_name) if module_name < MIN_VERSION return end all_ids = [] if module_name >= V610 all_ids += @requirement_lists[V610][:base] all_ids += @requirement_lists[V610][:map][class_name] if @requirement_lists[V610][:map][class_name] all_ids -= @requirement_lists[V610][:remove] end if module_name >= V700 all_ids += @requirement_lists[V700][:base] all_ids += @requirement_lists[V700][:map][class_name] if @requirement_lists[V700][:map][class_name] all_ids -= @requirement_lists[V700][:remove] end if module_name >= V800 all_ids += @requirement_lists[V800][:base] all_ids += @requirement_lists[V800][:map][class_name] if @requirement_lists[V800][:map][class_name] all_ids -= @requirement_lists[V800][:remove] end all_ids end |
#has_requirements?(module_name, class_name) ⇒ Boolean
91 92 93 94 95 96 |
# File 'lib/us_core_test_kit/generator/verifies_requirements.rb', line 91 def has_requirements?(module_name, class_name) return false if module_name < V610 ids = get_ids(module_name, class_name) ids && ids.any? end |