Sha256: d84079b3c50e6d5b2ec8f4a8a6709702798babd2298410bcdf3215bd414e02a0
Contents?: true
Size: 884 Bytes
Versions: 1
Compression:
Stored size: 884 Bytes
Contents
# frozen_string_literal: true module Leftovers module ProcessorBuilders module Each def self.each_or_self(value, &block) case value # :nocov: when nil then raise Leftovers::UnexpectedCase, "Unhandled value #{value.inspect}" # :nocov: when Array then build(value.map(&block)) else build([yield(value)]) end end def self.build(processors) processors = compact(processors) case processors.length # :nocov: when 0 then raise Leftovers::UnexpectedCase, "Unhandled value #{processors.inspect}" # :nocov: when 1 then processors.first else ::Leftovers::ValueProcessors::Each.new(processors) end end def self.compact(processors) processors.flatten! processors.compact! processors end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
leftovers-0.8.0 | lib/leftovers/processor_builders/each.rb |