Module: Gravedigger::UsageSearcher
- Defined in:
- lib/gravedigger/usage_searcher.rb
Class Method Summary collapse
- .extract_variable_usage(variable_usage_match) ⇒ Object
- .search_methods(method_definitions, files_to_search) ⇒ Object
- .search_variables(variable_definitions, files_to_search) ⇒ Object
Class Method Details
.extract_variable_usage(variable_usage_match) ⇒ Object
50 51 52 53 54 55 |
# 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) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# 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 |