Sha256: 75f9f45555c257addaf64c893ce7721fc29a61b0bd7b633015076f7f3ddc1028

Contents?: true

Size: 813 Bytes

Versions: 1

Compression:

Stored size: 813 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  module ProcessorBuilders
    module Argument
      def self.build(patterns, processor)
        ::Leftovers::ProcessorBuilders::EachAction.each_or_self(patterns) do |pat|
          case pat
          when ::Integer then ::Leftovers::ValueProcessors::PositionalArgument.new(pat, processor)
          when '*' then ::Leftovers::ValueProcessors::EachPositionalArgument.new(processor)
          when '**' then ::Leftovers::ValueProcessors::EachKeywordArgument.new(processor)
          when ::String, ::Hash
            ::Leftovers::ProcessorBuilders::KeywordArgument.build(pat, processor)
            # :nocov:
          else raise Leftovers::UnexpectedCase, "Unhandled value #{pat.inspect}"
            # :nocov:
          end
        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/argument.rb