Sha256: 90013090d4dcbf8aee4be4c9f8dbfc497ff6e59301f058f8eb6051fa8c1aa9e6

Contents?: true

Size: 831 Bytes

Versions: 4

Compression:

Stored size: 831 Bytes

Contents

module ETL #:nodoc:
  module Control #:nodoc:
    # ETL source. Subclasses must implement the <tt>each</tt> method.
    class Source
      include Enumerable
      attr_accessor :control, :configuration, :definition
      
      class << self
        def class_for_name(name)
          ETL::Control.const_get("#{name.to_s.classify}Source")
        end
      end
      
      # Initialize the Source instance
      # * <tt>control</tt>: The control object
      # * <tt>configuration</tt>: The configuration hash
      # * <tt>definition</tt>: The source layout definition
      def initialize(control, configuration, definition)
        @control = control
        @configuration = configuration
        @definition = definition
      end
    end
  end
end

Dir[File.dirname(__FILE__) + "/source/*.rb"].each { |file| require(file) }

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
activewarehouse-etl-0.1.0 lib/etl/control/source.rb
activewarehouse-etl-0.2.0 lib/etl/control/source.rb
activewarehouse-etl-0.3.0 lib/etl/control/source.rb
activewarehouse-etl-0.4.0 lib/etl/control/source.rb