Sha256: ac7afc0aeee6872d80d846a9291d84b83dd69b4f1eab6f2111145132a6d723f3
Contents?: true
Size: 792 Bytes
Versions: 38
Compression:
Stored size: 792 Bytes
Contents
require 'arc-furnace/abstract_join' module ArcFurnace # Perform a join between a hash and a source, only producing rows # from the source that match a row from the hash. The resulting row # will merge the source "into" the hash, that is, values from the # source that share the same keys will overwrite values in the hash # value for the corresponding source row. # # Example: # Source row { id: "foo", key1: "boo", key2: "bar" } # Matching hash row { id: "foo", key1: "bar", key3: "baz" } # Result row: { id: "foo", key1: "boo", key2: "bar", key3: "baz" } class InnerJoin < AbstractJoin def advance loop do @value = source.row break if @value.nil? if merge_source_row(@value) break end end end end end
Version data entries
38 entries across 38 versions & 1 rubygems