Sha256: 4a43dad7905fa3f5970734b4d06ff20384c6464571359477855235f9d3d5d07c
Contents?: true
Size: 1.17 KB
Versions: 2
Compression:
Stored size: 1.17 KB
Contents
module Chronicle module ETL # Abstract class representing an Transformer for an ETL job class Transformer extend Chronicle::ETL::Catalog # Construct a new instance of this transformer. Options are passed in from a Runner # == Paramters: # options:: # Options for configuring this Transformer def initialize(options = {}, data) @options = options @data = data end # The main entrypoint for transforming a record. Called by a Runner on each extracted record def transform raise NotImplementedError end # The domain or provider-specific id of the record this transformer is working on. # Used for building a cursor so an extractor doesn't have to start from the beginning of a # data source from the beginning. def id; end # The domain or provider-specific timestamp of the record this transformer is working on. # Used for building a cursor so an extractor doesn't have to start from the beginning of a # data source from the beginning. def timestamp; end end end end require_relative 'json_transformer' require_relative 'null_transformer'
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
chronicle-etl-0.2.3 | lib/chronicle/etl/transformers/transformer.rb |
chronicle-etl-0.2.2 | lib/chronicle/etl/transformers/transformer.rb |