Sha256: 5032a186343c823dbc6420368fe17c721a3df9df9b4fd38efb596465d1e8b82a
Contents?: true
Size: 1.13 KB
Versions: 1
Compression:
Stored size: 1.13 KB
Contents
# frozen-string-literal: true require 'set' module Leftovers module MatcherBuilders module NodeType def self.build(types_pattern) # rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity ::Leftovers::MatcherBuilders::Or.each_or_self(types_pattern) do |type| case type when 'Symbol' then ::Leftovers::Matchers::NodeType.new(:sym) when 'String' then ::Leftovers::Matchers::NodeType.new(:str) when 'Integer' then ::Leftovers::Matchers::NodeType.new(:int) when 'Float' then ::Leftovers::Matchers::NodeType.new(:float) when 'Array' then ::Leftovers::Matchers::NodeType.new(:array) when 'Hash' then ::Leftovers::Matchers::NodeType.new(:hash) when 'Proc' then ::Leftovers::Matchers::Predicate.new(:proc?) when 'Method' then ::Leftovers::Matchers::NodeType.new(Set[:send, :csend, :def, :defs]) when 'Constant' ::Leftovers::Matchers::NodeType.new(Set[:const, :class, :module, :casgn]) # :nocov: else raise "Unknown type #{type}" # :nocov: end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
leftovers-0.7.0 | lib/leftovers/matcher_builders/node_type.rb |