Sha256: c86a24f0320b0349e7e615a376c6336b792c95b7c772a0c62c2ef15ae4e79eba

Contents?: true

Size: 1.42 KB

Versions: 15

Compression:

Stored size: 1.42 KB

Contents

module USCoreTestKit
  class Generator
    class IGMetadata
      attr_accessor :ig_version, :groups

      def reformatted_version
        @reformatted_version ||= ig_version.delete('.').gsub('-', '_')
      end

      def ordered_groups
        @ordered_groups ||=
          [patient_group] + non_delayed_groups + delayed_groups
      end

      def patient_group
        @patient_group ||=
          groups.find { |group| group.resource == 'Patient' }
      end

      def delayed_groups
        @delayed_groups ||=
          groups.select { |group| group.delayed? }
      end

      def non_delayed_groups
        @non_delayed_groups ||=
          groups.reject { |group| group.delayed? } - [patient_group]
      end

      def delayed_profiles
        @delayed_profiles ||=
          delayed_groups.map(&:profile_url)
      end

      def postprocess_groups(ig_resources)
        groups.each do |group|
          group.add_delayed_references(delayed_profiles, ig_resources)
        end
      end

      def granular_scope_resource_type_groups
        @granular_scope_resource_type_groups ||=
          Hash.new { |hash, key| hash[key] = [] }
      end

      def granular_scope_groups
        @granular_scope_groups ||= []
      end

      def to_hash
        {
          ig_version:,
          groups: groups.map(&:to_hash),
          granular_scope_resource_type_groups:,
          granular_scope_groups:
        }
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
us_core_test_kit-0.10.1 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.10.0 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.9.3 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.9.2 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.9.1 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.9.0 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.8.2 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.8.1 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.8.0 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.7.2 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.7.1 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.7.0 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.6.5 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.6.4 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.6.3 lib/us_core_test_kit/generator/ig_metadata.rb