Sha256: 6c4d850c5f804a28a3e2406f4b6b719b6f003e4a19b29b0c09eb88985f408f9d

Contents?: true

Size: 708 Bytes

Versions: 8

Compression:

Stored size: 708 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  module Processors
    class EachPositionalArgumentFrom
      include ComparableInstance

      def initialize(position, then_processor)
        @position = position
        @then_processor = then_processor

        freeze
      end

      def process(_str, current_node, matched_node, acc)
        positional_arguments = current_node.positional_arguments

        return unless positional_arguments

        positional_arguments.each_with_index do |argument_node, index|
          next if index < @position

          @then_processor.process(argument_node.to_literal_s, argument_node, matched_node, acc)
        end
      end

      freeze
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
leftovers-0.12.2 lib/leftovers/processors/each_positional_argument_from.rb
leftovers-0.12.1 lib/leftovers/processors/each_positional_argument_from.rb
leftovers-0.12.0 lib/leftovers/processors/each_positional_argument_from.rb
leftovers-0.11.2 lib/leftovers/processors/each_positional_argument_from.rb
leftovers-0.11.1 lib/leftovers/processors/each_positional_argument_from.rb
leftovers-0.11.0 lib/leftovers/processors/each_positional_argument_from.rb
leftovers-0.10.0 lib/leftovers/processors/each_positional_argument_from.rb
leftovers-0.9.0 lib/leftovers/processors/each_positional_argument_from.rb