module Gravedigger::DefinitionFinder
Public Class Methods
find_method_definitions(line)
click to toggle source
# File lib/gravedigger/definition_finder.rb, line 30 def self.find_method_definitions(line) find_method_regex_result = line[/[ ]+def [a-zA-Z0-9?_.\!]*/] if find_method_regex_result method_name = find_method_regex_result.strip.slice(4..-1) method_name = method_name.slice(0,4) if method_name && method_name[0..4] == 'self.' end method_name end
find_variable_definitions(line)
click to toggle source
# File lib/gravedigger/definition_finder.rb, line 39 def self.find_variable_definitions(line) result = line.scan(/^[ ]+([A-Za-z0-9_\!\@]*)[ ]*\=[^\=\>]/) return nil if result.empty? result[0][0].sub!(/^@/, '') result[0][0] end
get_definitions(files_to_search)
click to toggle source
# File lib/gravedigger/definition_finder.rb, line 5 def self.get_definitions(files_to_search) method_definitions = {} variable_definitions = {} errors = [] files_to_search.each do |fileName| begin File.readlines(fileName).each_with_index do |line,index| next unless line method_name = find_method_definitions(line) variable_name = find_variable_definitions(line) location = "[#{fileName}:#{index+1}]" method_definitions[method_name] = location if method_name variable_definitions[variable_name] = location if variable_name end rescue StandardError => error errors << "Error while reading file: #{fileName} \n #{error.message}" end end return method_definitions, variable_definitions, errors end