Sha256: 4b1dfbab4901c535623ecaf8887d11717e64b80570e76072445d7478197d26ee

Contents?: true

Size: 654 Bytes

Versions: 1

Compression:

Stored size: 654 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  module ProcessorBuilders
    module Keyword
      def self.build(value, then_processor)
        return unless value && then_processor

        case value
        when true, '**' then ::Leftovers::ValueProcessors::EachKeyword.new(then_processor)
        when ::String, ::Hash, ::Array
          ::Leftovers::ValueProcessors::Keyword.new(
            ::Leftovers::MatcherBuilders::NodePairName.build(value),
            then_processor
          )
        # :nocov:
        else raise Leftovers::UnexpectedCase, "Unhandled value #{value.inspect}"
          # :nocov:
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
leftovers-0.8.0 lib/leftovers/processor_builders/keyword.rb