lib/ackr/finder.rb in ackr-0.1 vs lib/ackr/finder.rb in ackr-0.1.1

- old
+ new

@@ -1,41 +1,23 @@ # -*- encoding: utf-8 -*- module Ackr - class Finder - def initialize search_term - @search_term = search_term.downcase - end + # All 'find a file' relatives. + module Finder - def run - Dir.glob('**/*').each do |f| - next if File.directory?(f) - next if Ackr::binary?(f) - @file = f - search + # Public: Get all files to look for. + # + # Files of interest are those who are + # + not directory + # + not binary + # + not hidden + # + # Returns an Enumerator of String filename. + def self.all_files + Dir.glob('**/*').each do |file| + next if (File.directory?(file) || Ackr::binary?(file)) + yield(file) end end - - private - - def search - results = search_into_file - unless results.empty? - puts Colorizer::for_file(@file) - results.each {|r| puts r} - puts "" - end - end - - def search_into_file - result = [] - File.readlines(@file).each_with_index do |line, i| - if line.downcase.include?(@search_term) - result << "#{'%4i' % i}| #{Colorizer::for_line(line, @search_term)}" - end - end - result - end - end end