Class: DaVinciPASTestKit::Generator::GroupMetadata
- Inherits:
-
Object
- Object
- DaVinciPASTestKit::Generator::GroupMetadata
- Defined in:
- lib/davinci_pas_test_kit/generator/group_metadata.rb
Constant Summary collapse
- ATTRIBUTES =
%i[ name class_name version reformatted_version resource conformance_expectation profile_url profile_name profile_version title short_description interactions operations required_concepts must_supports mandatory_elements bindings references tests id file_name delayed_references ].freeze
Instance Method Summary collapse
- #add_delayed_references(delayed_profiles, ig_resources) ⇒ Object
- #add_test(id:, file_name:) ⇒ Object
- #delayed? ⇒ Boolean
-
#initialize(metadata) ⇒ GroupMetadata
constructor
A new instance of GroupMetadata.
- #to_hash ⇒ Object
Constructor Details
#initialize(metadata) ⇒ GroupMetadata
Returns a new instance of GroupMetadata.
31 32 33 34 35 36 37 |
# File 'lib/davinci_pas_test_kit/generator/group_metadata.rb', line 31 def initialize() .each do |key, value| raise "Unknown attribute #{key}" unless ATTRIBUTES.include? key instance_variable_set(:"@#{key}", value) end end |
Instance Method Details
#add_delayed_references(delayed_profiles, ig_resources) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/davinci_pas_test_kit/generator/group_metadata.rb', line 58 def add_delayed_references(delayed_profiles, ig_resources) self.delayed_references = references .select { |reference| (reference[:profiles] & delayed_profiles).present? } .map do |reference| profile_urls = (reference[:profiles] & delayed_profiles) delayed_resources = profile_urls.map { |url| ig_resources.resource_type_for_profile(url) } { path: reference[:path].gsub("#{resource}.", ''), resources: delayed_resources } end end |
#add_test(id:, file_name:) ⇒ Object
43 44 45 46 47 48 49 50 51 52 |
# File 'lib/davinci_pas_test_kit/generator/group_metadata.rb', line 43 def add_test(id:, file_name:) self.tests ||= [] = { id:, file_name: } self.tests << end |
#delayed? ⇒ Boolean
39 40 41 |
# File 'lib/davinci_pas_test_kit/generator/group_metadata.rb', line 39 def delayed? !['Patient', 'Claim', 'ClaimResponse'].include?(resource) end |
#to_hash ⇒ Object
54 55 56 |
# File 'lib/davinci_pas_test_kit/generator/group_metadata.rb', line 54 def to_hash ATTRIBUTES.each_with_object({}) { |key, hash| hash[key] = send(key) unless send(key).nil? } end |