Sha256: 545bb8d4c19c471c932b650ed5cbd3b0d7efd10bf5373d25a8e599c595469ef5

Contents?: true

Size: 914 Bytes

Versions: 4

Compression:

Stored size: 914 Bytes

Contents

# frozen-string-literal: true

module Leftovers
  module ProcessorBuilders
    module TransformSet
      class << self
        def build(transforms, final_processor)
          each_builder(final_processor).each_or_self(transforms) do |transform|
            case transform
            when ::Hash, ::Symbol
              ::Leftovers::ProcessorBuilders::TransformChain.build(transform, final_processor)
            # :nocov:
            else raise Leftovers::UnexpectedCase, "Unhandled value #{transform.inspect}"
              # :nocov:
            end
          end
        end

        private

        def each_builder(final_processor)
          if final_processor == ::Leftovers::Processors::AddDefinitionNode
            ::Leftovers::ProcessorBuilders::Each[:each_for_definition_set]
          else
            ::Leftovers::ProcessorBuilders::Each[:each]
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
leftovers-0.11.1 lib/leftovers/processor_builders/transform_set.rb
leftovers-0.11.0 lib/leftovers/processor_builders/transform_set.rb
leftovers-0.10.0 lib/leftovers/processor_builders/transform_set.rb
leftovers-0.9.0 lib/leftovers/processor_builders/transform_set.rb