Method: Swallow::SpamDetector#process_folder

Defined in:
lib/spamdetector.rb

#process_folder(cmd, folder, should_delete = false) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/spamdetector.rb', line 25

def process_folder(cmd, folder, should_delete = false)
    count = 0
    if folder.kind_of? MailDirFolder
        count = folder.emails.length
        folder.emails.each { |email|
            pipe(cmd, email.to_s)
            email.delete if should_delete == true
        }
    end
    if folder.kind_of? String
        Dir.open(folder).each { |f|
            next if File.directory?(f)
            File.open(File.join(folder,f)) do |out|
                pipe(cmd, out.read)
            end
            count += 1
            File.delete(File.join(folder,f)) if should_delete == true
        }
    end
    puts "Processed #{count} messages in #{folder}"
end