Module: StaticSourceLoc

Defined in:
lib/static_source_loc.rb

Defined Under Namespace

Classes: MethodSource, ModuleSource, Source, SourceLoc

Constant Summary collapse

VERSION =
'1.0.0'
Parser =
RubyParser.new

Class Method Summary collapse

Class Method Details

.analyze(dir, file_test = nil, dir_test = nil, ignore_errors = true) ⇒ Object



128
129
130
131
132
133
134
135
136
137
# File 'lib/static_source_loc.rb', line 128

def analyze(dir, file_test=nil, dir_test=nil, ignore_errors=true)
	file_test ||= /\.rb\Z/
	dir_test  ||= proc {true}
	sexprs = load_sexprs(dir, file_test, dir_test, ignore_errors)
	toplevel = ModuleSource.new :Object, nil
	sexprs.each &toplevel.method(:process_code)
	submodules = toplevel.submodules
	submodules.values.each {|ms| ms.instance_variable_set :@parent, nil}
	submodules.merge toplevel.methods
end