Sha256: 09bff9f63c1e038992a3c9499e2a9b1697bbc886b5e0356a55e4ebe003cf3ebf
Contents?: true
Size: 502 Bytes
Versions: 2
Compression:
Stored size: 502 Bytes
Contents
# frozen_string_literal: true module Importeur class ETL def initialize(extractor:, transformer:, loader:) @extractor = extractor @transformer = transformer @loader = loader end def call extracted = extractor.call return if extracted.nil? transformed = extracted.lazy.flat_map do |entity| transformer.call(entity) end loader.call(transformed.lazy) end private attr_reader :extractor, :transformer, :loader end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
importeur-0.1.1 | lib/importeur/etl.rb |
importeur-0.1.0 | lib/importeur/etl.rb |