module Gravedigger::UsageSearcher
Public Class Methods
extract_variable_usage(variable_usage_match)
click to toggle source
# File lib/gravedigger/usage_searcher.rb, line 50 def self.extract_variable_usage(variable_usage_match) variable_usage = variable_usage_match.first variable_usage.sub!(/[@!]/, '') # remove ! and @ characters from string variable_usage end
search_methods(method_definitions, files_to_search)
click to toggle source
# File lib/gravedigger/usage_searcher.rb, line 5 def self.search_methods(method_definitions, files_to_search) errors = [] files_to_search.each do |fileName| begin File.open(fileName).each_line do |line| next unless line method_usage_matches = line.scan(/(?<!def)[ \.\-\:\'\(\{\!\=\&\#\[\*]+([a-zA-Z0-9?_\!]+)?(?=[\\ \,\/\[\'\:\(\)\.\}]|$)/) method_usage_matches.each do |method_usage_match| method_definitions.delete(method_usage_match.first) if method_usage_match end end rescue StandardError => error errors << "Error while searching method in file: #{fileName}\n"\ "#{error.message}" end end return method_definitions, errors end
search_variables(variable_definitions, files_to_search)
click to toggle source
# File lib/gravedigger/usage_searcher.rb, line 25 def self.search_variables(variable_definitions, files_to_search) errors = [] files_to_search.each do |fileName| begin File.readlines(fileName).each_with_index do |line,index| next unless line variable_usage_matchs = line.scan(/[ \(\{\[\=\,\+\*\-\/\:]+([A-Za-z0-9\_\-\?\!\@]+)/) variable_usage_matchs.each do |variable_usage_match| next unless variable_usage_match variable_usage = extract_variable_usage(variable_usage_match) if variable_definitions[variable_usage] != "[#{fileName}:#{index+1}]" variable_definitions.delete(variable_usage) end end end rescue StandardError => error errors << "Error while searching variable in file: #{fileName}\n"\ "#{error.message}" end end return variable_definitions, errors end