Sha256: 7feb0b8cde933f5a3f808d6616c0f0c7ebba79ba6f61954026b73df8ac635bdf

Contents?: true

Size: 1.05 KB

Versions: 12

Compression:

Stored size: 1.05 KB

Contents

require_relative 'ig_metadata'
require_relative 'group_metadata_extractor'

module CarinForBlueButtonTestKit
  class Generator
    class IGMetadataExtractor
      attr_accessor :ig_resources, :metadata

      def initialize(ig_resources)
        self.ig_resources = ig_resources
        self.metadata = IGMetadata.new
      end

      def extract
        add_metadata_from_ig
        add_metadata_from_resources
        metadata
      end

      def add_metadata_from_ig
        metadata.ig_version = "v#{ig_resources.ig.version}"
      end

      def resources_in_capability_statement
        ig_resources.capability_statement.rest.first.resource
      end

      def add_metadata_from_resources
        metadata.groups =
          resources_in_capability_statement.flat_map do |resource|
            resource.supportedProfile&.map do |supported_profile|
              GroupMetadataExtractor.new(resource, supported_profile, metadata, ig_resources).group_metadata
            end
          end

        metadata.postprocess_groups(ig_resources)
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
carin_for_blue_button_test_kit-0.13.3 lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb
carin_for_blue_button_test_kit-0.13.2 lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb
carin_for_blue_button_test_kit-0.13.1 lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb
carin_for_blue_button_test_kit-0.13.0 lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb
carin_for_blue_button_test_kit-0.12.1 lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb
carin_for_blue_button_test_kit-0.12.0 lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb
carin_for_blue_button_test_kit-0.11.2 lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb
carin_for_blue_button_test_kit-0.11.1 lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb
carin_for_blue_button_test_kit-0.11.0 lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb
carin_for_blue_button_test_kit-0.10.0 lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb
carin_for_blue_button_test_kit-0.9.1 lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb
carin_for_blue_button_test_kit-0.9.0 lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb