module Leftovers::ProcessorBuilders::Each

Public Class Methods

build(processors) click to toggle source
# File lib/leftovers/processor_builders/each.rb, line 16
def self.build(processors)
  processors = compact(processors)

  case processors.length
  # :nocov:
  when 0 then raise
  # :nocov:
  when 1 then processors.first
  else ::Leftovers::ValueProcessors::Each.new(processors)
  end
end
compact(processors) click to toggle source
# File lib/leftovers/processor_builders/each.rb, line 28
def self.compact(processors)
  processors.flatten!
  processors.compact!

  processors
end
each_or_self(value) { |value| ... } click to toggle source
# File lib/leftovers/processor_builders/each.rb, line 6
def self.each_or_self(value, &block)
  case value
  # :nocov:
  when nil then raise
  # :nocov:
  when Array then build(value.map(&block))
  else build([yield(value)])
  end
end