lib/chronicle/etl/transformers/transformer.rb in chronicle-etl-0.1.4 vs lib/chronicle/etl/transformers/transformer.rb in chronicle-etl-0.2.0

- old
+ new

@@ -1,16 +1,32 @@ module Chronicle - module Etl + module ETL + # Abstract class representing an Transformer for an ETL job class Transformer - extend Chronicle::Etl::Catalog + 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 = {}) @options = options end + # The main entrypoint for transforming a record. Called by a Runner on each extracted record def transform data 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'