class Setl::ETL

Attributes

destination[R]
error_handler[R]
last_row[R]
source[R]
stop_on_errors[R]
transform[R]

Public Class Methods

new(source, destination, transform, stop_on_errors: false, error_handler: nil) click to toggle source
# File lib/setl/etl.rb, line 5
def initialize(source, destination, transform, stop_on_errors: false, error_handler: nil)
  @stop_on_errors = stop_on_errors
  @error_handler = error_handler || DefaultHandler.new(stop_on_errors)

  @source = Source.new(source, @error_handler)
  @destination = Destination.new(destination, @error_handler)
  @transform = Transform.new(transform, @error_handler)
end

Public Instance Methods

process() click to toggle source
# File lib/setl/etl.rb, line 14
def process
  source.each do |row|
    @last_row = row

    destination.(transform.(row))
  end
end