Sha256: 64c2cdc1675cc445bcfb304a4d4edd29b85c317d24c9f74c98702b26af843979
Contents?: true
Size: 1.07 KB
Versions: 3
Compression:
Stored size: 1.07 KB
Contents
# frozen_string_literal: true require 'set' module Leftovers module MatcherBuilders module NodeType def self.build(types_pattern) # rubocop:disable Metrics Or.each_or_self(types_pattern) do |type| case type when :Symbol then Matchers::NodeType.new(:sym) when :String then Matchers::NodeType.new(:str) when :Integer then Matchers::NodeType.new(:int) when :Float then Matchers::NodeType.new(:float) when :Array then Matchers::NodeType.new(:array) when :Hash then Matchers::NodeType.new(:hash) when :Proc then Matchers::NodeIsProc when :Method Matchers::NodeType.new( ::Set[:send, :csend, :def, :defs].compare_by_identity.freeze ) when :Constant Matchers::NodeType.new( ::Set[:const, :class, :module, :casgn].compare_by_identity.freeze ) # :nocov: else raise UnexpectedCase, "Unhandled value #{type.inspect}" # :nocov: end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
leftovers-0.12.2 | lib/leftovers/matcher_builders/node_type.rb |
leftovers-0.12.1 | lib/leftovers/matcher_builders/node_type.rb |
leftovers-0.12.0 | lib/leftovers/matcher_builders/node_type.rb |