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