Sha256: e65d63c428cd2bc93df55404dbfd4750905bc2924ab1c9df751ac4232ab65252

Contents?: true

Size: 1.14 KB

Versions: 8

Compression:

Stored size: 1.14 KB

Contents

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

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

      def ordered_groups
        @ordered_groups ||=
          ([patient_group] + non_delayed_groups + delayed_groups).reject{|group| group.nil?}
      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

8 entries across 8 versions & 1 rubygems

Version Path
ipa_test_kit-0.5.0 lib/ipa_test_kit/generator/ig_metadata.rb
ipa_test_kit-0.4.1 lib/ipa_test_kit/generator/ig_metadata.rb
ipa_test_kit-0.4.0 lib/ipa_test_kit/generator/ig_metadata.rb
ipa_test_kit-0.3.4 lib/ipa_test_kit/generator/ig_metadata.rb
ipa_test_kit-0.3.3 lib/ipa_test_kit/generator/ig_metadata.rb
ipa_test_kit-0.3.2 lib/ipa_test_kit/generator/ig_metadata.rb
ipa_test_kit-0.3.1 lib/ipa_test_kit/generator/ig_metadata.rb
ipa_test_kit-0.3.0 lib/ipa_test_kit/generator/ig_metadata.rb