class Leftovers::ValueProcessors::EachForDefinitionSet

Public Class Methods

new(then_processors) click to toggle source
# File lib/leftovers/value_processors/each_for_definition_set.rb, line 6
def initialize(then_processors)
  @then_processors = then_processors

  freeze
end

Public Instance Methods

process(str, node, method_node) click to toggle source
# File lib/leftovers/value_processors/each_for_definition_set.rb, line 12
def process(str, node, method_node)
  definitions = @then_processors.map do |then_processor|
    processed = then_processor.process(str, node, method_node)
    return if processed == :keep # rubocop:disable Lint/NonLocalExitFromIterator

    processed
  end

  definitions.flatten!
  definitions.compact!

  return definitions.first if definitions.length <= 1

  ::Leftovers::DefinitionSet.new(definitions)
end