Sha256: 64a4777dbdc8cdf01262853f047c1e22f693e324150568636a6abe58359461be
Contents?: true
Size: 681 Bytes
Versions: 1
Compression:
Stored size: 681 Bytes
Contents
# frozen_string_literal: true module ROM class Processor # @api private module Composer # @api private class Factory attr_reader :fns, :default # @api private def initialize(default = nil) @fns = [] @default = default end # @api private def <<(other) fns.concat(Array(other).compact) self end # @api private def to_fn fns.reduce(:+) || default end end # @api private def compose(default = nil) factory = Factory.new(default) yield(factory) factory.to_fn end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rom-6.0.0.alpha1 | lib/rom/processor/composer.rb |