Sha256: bb9edb12b86e8734fc8a37fc54c7ac341dd87327ea3deb931c8af565897cafb3

Contents?: true

Size: 1.08 KB

Versions: 7

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

module Ductr
  module ETL
    #
    # The base class for all runners
    #
    class Runner
      # @return [Array<Source>] The runner source controls
      attr_accessor :sources

      # @return [Array<Transform>] The runner transform controls
      attr_accessor :transforms

      # @return [Array<Destination>] The runner destination controls
      attr_accessor :destinations

      # @return [Array<Hash{Symbol => Array<Symbol>}>] The controls plumbing hashes
      attr_accessor :pipes

      #
      # Creates the runner instance.
      #
      # @param [Array<Source>] sources The job's source controls
      # @param [Array<Transform>] transforms The job's transform controls
      # @param [Array<Destination>] destinations The job's destination controls
      # @param [Array<Hash{Symbol => Array<Symbol>}>] pipes The controls plumbing hashes
      #
      def initialize(sources, transforms, destinations, pipes = [])
        @sources = sources
        @transforms = transforms
        @destinations = destinations
        @pipes = pipes
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ductr-0.2.3 lib/ductr/etl/runner.rb
ductr-0.2.2 lib/ductr/etl/runner.rb
ductr-0.2.1 lib/ductr/etl/runner.rb
ductr-0.2.0 lib/ductr/etl/runner.rb
ductr-0.1.2 lib/ductr/etl/runner.rb
ductr-0.1.1 lib/ductr/etl/runner.rb
ductr-0.1.0 lib/ductr/etl/runner.rb