lib/chronicle/etl/job.rb in chronicle-etl-0.2.3 vs lib/chronicle/etl/job.rb in chronicle-etl-0.2.4
- old
+ new
@@ -22,26 +22,31 @@
@transformer_options = definition[:transformer][:options] || {}
@loader_klass = load_klass(:loader, definition[:loader][:name])
@loader_options = definition[:loader][:options] || {}
- set_continuation
+ set_continuation if load_continuation?
yield self if block_given?
end
def instantiate_extractor
instantiate_klass(:extractor)
end
- def instantiate_transformer data
+ def instantiate_transformer(data)
instantiate_klass(:transformer, data)
end
def instantiate_loader
instantiate_klass(:loader)
end
+ def save_log?
+ # TODO: this needs more nuance
+ return !id.nil?
+ end
+
private
def instantiate_klass(phase, *args)
options = self.send("#{phase.to_s}_options")
args = args.unshift(options)
@@ -54,9 +59,13 @@
end
def set_continuation
continuation = Chronicle::ETL::JobLogger.load_latest(@job_id)
@extractor_options[:continuation] = continuation
+ end
+
+ def load_continuation?
+ save_log?
end
end
end
end