class Dataflow::Nodes::SelectKeysNode
Performs a select operation on its dependency.
Public Instance Methods
export()
click to toggle source
# File lib/dataflow/nodes/select_keys_node.rb, line 11 def export data_node.export(keys: keys) end
Private Instance Methods
compute_batch(records:)
click to toggle source
# File lib/dataflow/nodes/select_keys_node.rb, line 17 def compute_batch(records:) keys_tokens = keys.map { |k| [k, record_dig_tokens(key: k, use_sym: dependencies.first.use_symbols?)] } select_keys(records: records, keys_tokens: keys_tokens) end
select_keys(records:, keys_tokens:)
click to toggle source
# File lib/dataflow/nodes/select_keys_node.rb, line 22 def select_keys(records:, keys_tokens:) records.map do |base_record| new_record = {} keys_tokens.each do |key, tokens| value = base_record.dig(*tokens) next unless value.present? add_value_to_record(record: new_record, key: key, value: value) end next unless new_record.present? new_record end.compact end