module ReindeerETL::Transforms::SimpleTransforms
Public Instance Methods
simple_transforms(row)
click to toggle source
Configurable transforms in source
# File lib/reindeer-etl/transforms/simple_transforms.rb, line 10 def simple_transforms row st_only_cols(row) unless @only_cols.empty? st_require_cols(row) unless @require_cols.empty? row end
st_initialize(opts={})
click to toggle source
# File lib/reindeer-etl/transforms/simple_transforms.rb, line 3 def st_initialize opts={} @only_cols = (opts.delete(:only) || []).to_set @require_cols = (opts.delete(:require) || []).to_set end
st_only_cols(dict)
click to toggle source
Filter out everything except these columns
# File lib/reindeer-etl/transforms/simple_transforms.rb, line 18 def st_only_cols dict (dict.keys.to_set - @only_cols).each{|col|dict.delete(col)} dict end
st_require_cols(dict)
click to toggle source
require these columns
# File lib/reindeer-etl/transforms/simple_transforms.rb, line 25 def st_require_cols dict dcols = dict.keys.to_set unless @require_cols.subset? dict.keys.to_set missing_cols = (@require_cols - dcols).to_a raise ReindeerETL::Errors::RecordInvalid.new("Missing required columns: #{missing_cols}") end end