Sha256: 7a3538096ece8bc7ecb02299cc2c14408811bcf2d7084913fcfd2e3e598fa789

Contents?: true

Size: 1.12 KB

Versions: 4

Compression:

Stored size: 1.12 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 to_hash
        {
          ig_version: ig_version,
          groups: groups.map(&:to_hash)
        }
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
us_core_test_kit-0.6.2 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.6.1 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.6.0 lib/us_core_test_kit/generator/ig_metadata.rb
us_core_test_kit-0.5.0 lib/us_core_test_kit/generator/ig_metadata.rb