Sha256: abd88a89a48c138d016ec264651803b0cee97e64959e287717fd5a1ce299741e

Contents?: true

Size: 997 Bytes

Versions: 3

Compression:

Stored size: 997 Bytes

Contents

# frozen_string_literal: true

module Dragnet
  module Exporters
    # Base class for all exporter classes.
    class Exporter
      attr_reader :test_records, :errors, :repository, :logger

      # @param [Array<Hash>] test_records The array of test records.
      # @param [Array<Hash>] errors The array of errors.
      # @param [Dragnet::Repository, Dragnet::MultiRepository] repository The
      #   repository where the MTR files and the source code are stored.
      # @param [#info] logger A logger object to use for output.
      def initialize(test_records:, errors:, repository:, logger:)
        @test_records = test_records
        @errors = errors
        @repository = repository
        @logger = logger
      end

      # @raise [NotImplementedError] Is always raised. Subclasses are expected
      #   to override this method.
      def export
        raise NotImplementedError,
              "'export' method not implemented for class #{self.class}"
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dragnet-5.3.1 lib/dragnet/exporters/exporter.rb
dragnet-5.3.0 lib/dragnet/exporters/exporter.rb
dragnet-5.2.1 lib/dragnet/exporters/exporter.rb