Sha256: 3041d0bdce5c9811d1093a34f58b418fdce9e7e46bb1193ef9f5391d0b0a68d1

Contents?: true

Size: 638 Bytes

Versions: 5

Compression:

Stored size: 638 Bytes

Contents

# frozen_string_literal: true

module Importeur
  module DataSources
    class Combined
      def initialize(*entity_classes)
        @entity_classes = entity_classes
      end

      def dataset_unique_id
        data_sources.map(&:dataset_unique_id).join
      end

      def items
        Enumerator.new do |y|
          data_sources.each do |data_source|
            data_source.items.each do |entity|
              y << entity
            end
          end
        end
      end

      private

      attr_reader :entity_classes

      def data_sources
        @data_sources ||= entity_classes.map(&:new)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
importeur-0.3.0 lib/importeur/data_sources/combined.rb
importeur-0.2.1 lib/importeur/data_sources/combined.rb
importeur-0.2.0 lib/importeur/data_sources/combined.rb
importeur-0.1.1 lib/importeur/data_sources/combined.rb
importeur-0.1.0 lib/importeur/data_sources/combined.rb