Sha256: c51f3910e173f14cd7695bcc980556c61093c6019f53520633bfd6618a360fcd

Contents?: true

Size: 767 Bytes

Versions: 10

Compression:

Stored size: 767 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  module ValueProcessors
    class Keyword
      # :nocov:
      using ::Leftovers::Backports::SetCaseEq if defined?(::Leftovers::Backports::SetCaseEq)
      # :nocov:

      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

        result = []

        kwargs.children.each do |pair|
          next unless @matcher === pair

          argument_node = pair.first
          str = argument_node.to_s

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

        result
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

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