Sha256: 9bf7cc41c88d3ade13a2cb7826bfec5b7520e46e37b6c125cf3cb214704ac38c
Contents?: true
Size: 868 Bytes
Versions: 1
Compression:
Stored size: 868 Bytes
Contents
# frozen-string-literal: true module Leftovers module MatcherBuilders module NodeHasKeywordArgument class << self def build(keywords, value_matcher) value_matcher = ::Leftovers::MatcherBuilders::NodePairValue.build(value_matcher) keyword_matcher = build_keyword_matcher(keywords) pair_matcher = ::Leftovers::MatcherBuilders::And.build([keyword_matcher, value_matcher]) return unless pair_matcher ::Leftovers::Matchers::NodeHasAnyKeywordArgument.new(pair_matcher) end private def build_keyword_matcher(keywords) if ::Leftovers.each_or_self(keywords).include?('**') ::Leftovers::Matchers::NodeType.new(:pair) else ::Leftovers::MatcherBuilders::NodePairName.build(keywords) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
leftovers-0.8.0 | lib/leftovers/matcher_builders/node_has_keyword_argument.rb |