Sha256: f2215fa294174b21c412412d3c524147bb04ddfe29fd5dafa93bf205e4eda69a

Contents?: true

Size: 380 Bytes

Versions: 1

Compression:

Stored size: 380 Bytes

Contents

require 'arc-furnace/source'

module ArcFurnace
  class Merge < Source

    private_attr_reader :sources

    def initialize(sources:)
      @sources = sources
    end

    def advance
      sources.first.advance
    end

    def value
      value = sources.map(&:value).compact
      return unless value.present?
      value.map(&:deep_dup).reduce({}, :merge)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
arc-furnace-0.1.42 lib/arc-furnace/merge.rb