Sha256: 00a91bbd84f39657af99f206a594f90bebb17c52ee1e77fd796fa4bb26351929

Contents?: true

Size: 538 Bytes

Versions: 10

Compression:

Stored size: 538 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  module Matchers
    class NodeHasAnyKeywordArgument
      # :nocov:
      using ::Leftovers::Backports::SetCaseEq if defined?(::Leftovers::Backports::SetCaseEq)
      # :nocov:

      def initialize(pair_matcher)
        @pair_matcher = pair_matcher

        freeze
      end

      def ===(node)
        kwargs = node.kwargs
        return false unless kwargs

        kwargs.children.any? do |pair|
          @pair_matcher === pair
        end
      end

      freeze
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

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