module FeedMethod
my try to dry
Public Instance Methods
feed(dir)
click to toggle source
# File lib/dir_processor.rb, line 11 def feed dir return unless accept? dir # Copy/Paste: crap = proc { |x| x == '.' || x == '..' } Dir.chdir dir do this_dir = dir dir = '.' all = Dir.entries(dir).reject(&crap).group_by { |x| is_dir?(x) ? :dirs : :files } #long_name all_files = all[:files] all_dirs = all[:dirs] so2(:first).each do |processor| processor.feed this_dir end so2(:file).each do |processor| (all[:files] || []).each { |file| processor.feed file } # long_name(dir,file) } end so2(:dir).each do |processor| # require 'pry'; binding.pry (all[:dirs] || []).each do |f| processor.feed f #long_name(dir,f) end end end end
Private Instance Methods
is_dir?(file)
click to toggle source
# File lib/dir_processor.rb, line 45 def is_dir? file raise "file disappeared or did'nt exist..." unless File.exist? file File.directory? file end
long_name(dir,file)
click to toggle source
# File lib/dir_processor.rb, line 42 def long_name dir,file File.join(dir,file).sub /^\.\//, '' end