module Ag

Public Instance Methods

Private Instance Methods

check(engine) click to toggle source
# File lib/the_ruby_searcher.rb, line 47
def check(engine)
  cmd = ["which", engine].join(" ")
  stdout = IO.popen(cmd).read
  if stdout != "" and engines.include? engine
    return false
  else
    return true
  end
end
engines() click to toggle source
# File lib/the_ruby_searcher.rb, line 57
def engines
  ["ag", "ack", "grep"]
end
find_engine(e) click to toggle source
# File lib/the_ruby_searcher.rb, line 61
def find_engine(e)
  while check(e)
    index = engines.index(e)
    index = index + 1 rescue 0
    if index < engines.size
      e = engines[index]
    else
      raise ArgumentError, "Could not find any compatible search engines installed on system. Try installing Ag: https://github.com/ggreer/the_silver_searcher"
    end
  end
  e
end
warn(e,engine) click to toggle source
# File lib/the_ruby_searcher.rb, line 43
def warn(e,engine)
  puts "WARN: Could not find search engine: #{e}. Using #{engine}."
end