Sha256: 5da0f559a84f11ef8ecbc620c8a120222204a95fd79bacb84783a0c7b1d3b3d3
Contents?: true
Size: 790 Bytes
Versions: 2
Compression:
Stored size: 790 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
arc-furnace-0.1.3 | lib/arc-furnace/inner_join.rb |
arc-furnace-0.1.0 | lib/arc-furnace/inner_join.rb |