class Recall::Results

Constants

ALL
Result

Attributes

results_string[RW]

Public Class Methods

new(query, search_path) click to toggle source
# File lib/recall/results.rb, line 6
def initialize(query, search_path)

  @query = query
  @search_path = search_path
end

Public Instance Methods

format_query() click to toggle source
# File lib/recall/results.rb, line 24
def format_query
  if method? 
    a = @query.split('')
    a[0] = '\.'
    @query = a.join('')
  end

  if !symbol? 
    c = @query.split('')
    c.unshift('\b')
    c.push('\b')
    @query = c.join('')
  end
end
get_full_snippet() click to toggle source
# File lib/recall/results.rb, line 57
def get_full_snippet 
  results = parse_results # array of Result structs

  results.each do |result| # iterate over the Result structs
  
    line_num = 0

    File.open("#{result.file_path}", "r") do |f|
      f.each_line do |line|
        line_num = line_num + 1 
        if line_num < (result.line_number.to_i - 5) || line_num > (result.line_number.to_i + 15)
          next
        else 
          result.full_code << line
        end
      end
    end

  end
end
get_grep_results() click to toggle source
# File lib/recall/results.rb, line 39
def get_grep_results
  format_query #                                   # /Users/samschlinkert/Documents/code/flatiron
  return `grep -r -n -i --include=*.rb --include=*.erb "#{@query}" #{@search_path} | sort -r`
end
method?() click to toggle source
# File lib/recall/results.rb, line 16
def method?
  @query[0] == '.'
end
parse_results() click to toggle source
# File lib/recall/results.rb, line 46
def parse_results
  results = get_grep_results.split("\n")

  results.map do |result|
    line_array = []
    line_array = result.split(":")
    Result.new(line_array[0], line_array[1], line_array[2], [''])
  end 

end
symbol?() click to toggle source
# File lib/recall/results.rb, line 20
def symbol?
  @query[0] == ':'
end
url() click to toggle source
# File lib/recall/results.rb, line 12
def url 
  "#{@query.downcase.gsub(" ", "_")}.html"
end