Sha256: e92cae9fdefe96f190e0f14e45de2015e5c6b3d2d51a928f3d4335c84a16efed

Contents?: true

Size: 656 Bytes

Versions: 1

Compression:

Stored size: 656 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  module ValueProcessors
    class KeywordArgument
      def initialize(matcher, then_processor)
        @matcher = matcher
        @then_processor = then_processor

        freeze
      end

      def process(_str, node, method_node)
        kwargs = node.kwargs
        return unless kwargs

        Leftovers.map_or_self(kwargs.children) do |pair|
          next unless @matcher === pair

          argument_node = pair.second
          str = argument_node.to_s if argument_node.string_or_symbol?

          @then_processor.process(str, argument_node, method_node)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
leftovers-0.8.0 lib/leftovers/value_processors/keyword_argument.rb