From 8eba97421966c2ffb289f92081f756e79fe2b100 Mon Sep 17 00:00:00 2001 From: Aaron Stone Date: Thu, 11 Sep 2014 22:54:31 -0700 Subject: [PATCH] Mark internal methods private --- code/hashdir.rb | 86 +++++++++++++++++++++---------------------------- 1 file changed, 37 insertions(+), 49 deletions(-) diff --git a/code/hashdir.rb b/code/hashdir.rb index 528804b..6795d91 100644 --- a/code/hashdir.rb +++ b/code/hashdir.rb @@ -24,95 +24,83 @@ def self.entries(path, limit = nil) self.entries_int(path, 0, [], limit) end - def self.entries_int(path, level, accum, limit = nil) + def self.num_entries(path) + self.num_entries_int(path, 0) + end + + def self.inject(prev_msg_path, new_base_path, msg_id) + parts = self.msg_id_parts(msg_id) + FileUtils.mkdir_p("#{new_base_path}/#{parts[0]}/#{parts[1]}/#{parts[2]}") + newname = "#{new_base_path}/#{parts[0]}/#{parts[1]}/#{parts[2]}/#{msg_id}" + File.rename(prev_msg_path, newname) + end + + def self.path_for(que_base_path, msg_id) + parts = self.msg_id_parts(msg_id) + "#{que_base_path}/#{parts[0]}/#{parts[1]}/#{parts[2]}/#{msg_id}" + end + + private + + def self.num_entries_int(path, level) + sum = 0 if level == 0 # YYYYMMDD ents1 = Dir.glob("#{path}/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]") ents1.sort.reverse.each do |e| - self.entries_int(e, 1, accum, limit) - break if limit && accum.length == limit + sum += self.num_entries_int(e, 1) end elsif level == 1 # HH ents1 = Dir.glob("#{path}/[0-9][0-9]") ents1.sort.reverse.each do |e| - self.entries_int(e, 2, accum, limit) - break if limit && accum.length == limit + sum += self.num_entries_int(e, 2) end elsif level == 2 # MM ents1 = Dir.glob("#{path}/[0-9][0-9]") ents1.sort.reverse.each do |e| - self.entries_int(e, 3, accum, limit) - break if limit && accum.length == limit + sum += self.num_entries_int(e, 3) end elsif level == 3 # MESG-ID ents1 = Dir.glob("#{path}/[0-9][0-9]*") - ents1.sort.reverse.each do |e| - accum << e.split('/').last - break if limit && accum.length == limit - end + sum += ents1.length end - accum - end - - def self.entries_old(path, limit = nil) - # Do a depth first walk of the path to get the message ids - ents1 = Dir.glob("#{path}/**/msg") - # we want the msg_id part (-2), just before last (-1) - ents2 = ents1.map { |e| e.split('/')[-2] } - end - - def self.num_entries(path) - self.num_entries_int(path, 0) + sum end - def self.num_entries_int(path, level) - sum = 0 + def self.entries_int(path, level, accum, limit = nil) if level == 0 # YYYYMMDD ents1 = Dir.glob("#{path}/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]") ents1.sort.reverse.each do |e| - sum += self.num_entries_int(e, 1) + self.entries_int(e, 1, accum, limit) + break if limit && accum.length == limit end elsif level == 1 # HH ents1 = Dir.glob("#{path}/[0-9][0-9]") ents1.sort.reverse.each do |e| - sum += self.num_entries_int(e, 2) + self.entries_int(e, 2, accum, limit) + break if limit && accum.length == limit end elsif level == 2 # MM ents1 = Dir.glob("#{path}/[0-9][0-9]") ents1.sort.reverse.each do |e| - sum += self.num_entries_int(e, 3) + self.entries_int(e, 3, accum, limit) + break if limit && accum.length == limit end elsif level == 3 # MESG-ID ents1 = Dir.glob("#{path}/[0-9][0-9]*") - sum += ents1.length + ents1.sort.reverse.each do |e| + accum << e.split('/').last + break if limit && accum.length == limit + end end - sum - end - - def self.num_entries_old(path) - # Do a depth first walk of the path to get the message ids - ents1 = Dir.glob("#{path}/**/msg") - ents1.length - end - - - def self.inject(prev_msg_path, new_base_path, msg_id) - parts = self.msg_id_parts(msg_id) - FileUtils.mkdir_p("#{new_base_path}/#{parts[0]}/#{parts[1]}/#{parts[2]}") - newname = "#{new_base_path}/#{parts[0]}/#{parts[1]}/#{parts[2]}/#{msg_id}" - File.rename(prev_msg_path, newname) - end - - def self.path_for(que_base_path, msg_id) - parts = self.msg_id_parts(msg_id) - "#{que_base_path}/#{parts[0]}/#{parts[1]}/#{parts[2]}/#{msg_id}" + accum end def self.msg_id_parts(msg_id)