Sha256: b7e410d3cb13d527ecdb1d27513ddb018206a736a0dd3277dfd3c264f423d490

Contents?: true

Size: 636 Bytes

Versions: 12

Compression:

Stored size: 636 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  module ProcessorBuilders
    module Keyword
      def self.build(value, then_processor) # rubocop:disable Metrics/MethodLength
        return unless value && then_processor

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

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
leftovers-0.7.0 lib/leftovers/processor_builders/keyword.rb
leftovers-0.6.0 lib/leftovers/processor_builders/keyword.rb
leftovers-0.5.5 lib/leftovers/processor_builders/keyword.rb
leftovers-0.5.4 lib/leftovers/processor_builders/keyword.rb
leftovers-0.5.3 lib/leftovers/processor_builders/keyword.rb
leftovers-0.5.2 lib/leftovers/processor_builders/keyword.rb
leftovers-0.5.1 lib/leftovers/processor_builders/keyword.rb
leftovers-0.5.0 lib/leftovers/processor_builders/keyword.rb
leftovers-0.4.3 lib/leftovers/processor_builders/keyword.rb
leftovers-0.4.2 lib/leftovers/processor_builders/keyword.rb
leftovers-0.4.1 lib/leftovers/processor_builders/keyword.rb
leftovers-0.4.0 lib/leftovers/processor_builders/keyword.rb