Sha256: 14294c3f6a71a5fdf43c8a55f83a9df64c828b80ee6c7fe03d38a3fb11e65370

Contents?: true

Size: 493 Bytes

Versions: 1

Compression:

Stored size: 493 Bytes

Contents

require 'syntax_finder'

# count all of given method names via comma separated environment variables,
# like `NAMES=map,collect`

NAMES = ENV['NAMES']&.yield_self{|m| m.split(',').map{|m| m.strip.to_sym}}.to_h{|e| [e, true]} || raise

class MethodNameFinder < SyntaxFinder
  def look node
    case t = node.type
    when :call_node, :def_node
      if NAMES[name = node.name]
        inc [t, name]
        pp [nloc(node),nlines(node).lines.first.chomp] if $VERBOSE
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
syntax_finder-0.1.0 samples/method_name_finder.rb