module Leftovers::ProcessorBuilders::TransformSet

Public Class Methods

build(transforms, action) click to toggle source
# File lib/leftovers/processor_builders/transform_set.rb, line 6
def self.build(transforms, action)
  each_builder(action).each_or_self(transforms) do |transform|
    case transform
    when ::Hash
      next build(transform[:transforms], action) if transform[:transforms]

      ::Leftovers::ProcessorBuilders::TransformChain.build(transform, build_final(action))
    when ::String
      ::Leftovers::ProcessorBuilders::TransformChain.build(transform, build_final(action))
    # :nocov:
    else raise
      # :nocov:
    end
  end
end
build_final(action) click to toggle source
# File lib/leftovers/processor_builders/transform_set.rb, line 34
def self.build_final(action)
  case action
  when :call
    ::Leftovers::ValueProcessors::ReturnString
  when :define
    ::Leftovers::ValueProcessors::ReturnDefinition
  # :nocov:
  else raise
    # :nocov:
  end
end
each_builder(action) click to toggle source
# File lib/leftovers/processor_builders/transform_set.rb, line 22
def self.each_builder(action)
  case action
  when :call
    ::Leftovers::ProcessorBuilders::Each
  when :define
    ::Leftovers::ProcessorBuilders::EachForDefinitionSet
  # :nocov:
  else raise
    # :nocov:
  end
end