Sha256: 00e00f21252a7f70d30e05a7b77d100897c14772adc32e354f24d4f0a407d465

Contents?: true

Size: 549 Bytes

Versions: 1

Compression:

Stored size: 549 Bytes

Contents

require 'rubygems'
require File.dirname(__FILE__) + '/../lib/sexp_path'
require 'ruby_parser'

path = ARGV.shift
if !path
  puts "Prints classes and methods in a file"
  puts "usage:"
  puts "  ruby print_methods.rb <path>"
  exit
end

code = File.read(path)
sexp = RubyParser.new.parse(code, path)

# Use the ruby pattern matcher:
results = sexp / R?{ _class } / R?{ _method }

puts path
puts "-" * 80

results.each do |sexp_result|
  class_name = sexp_result['class']
  method_name = sexp_result['method']
  puts "#{class_name}##{method_name}"
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sexp_path-0.5.0 examples/print_methods.rb