= TODO == Future Releases Some of these might not happen, but they're being thought about. Feel free to add your own. * "Push to S3" method (for backing up, etc) * Classifiers and file-content based rules. Example: * Take bills and bank statements, classify them as the type of document they are, and then rename them based on their content: * ["eStatement.pdf", "eStatement (1).pdf", "eStatement (2).pdf", "statement-1c3f34d.pdf", "statement-2c53ad1.pdf", "document-34d1c3f.pdf", "document-3ad12c5.pdf"] => ['ING', 'ING', 'ING', 'Citi', 'Citi', 'UI', 'UI'] * For example, ING statements have a date found with the pattern /Your Savings Summary as of\s+(.*?)$/i, Citi statements have the pattern /Statement Closing Date.*?(\d\d\/\d\d\/\d\d\d\d)/im, etc. Map using the patterns and rules. # (Define classification rules in some format here, naming one 'bank_statements' with the extraction rule 'date') dir('~/Downloads/*.pdf').classify(as: 'bank_statements', extract: 'date').each do |original_path, classification, date| move(original_path, "~/Bills/#{classification}/#{date.strftime(...)}.pdf") end * Daemon mode * Menubar/system tray icon * Import of rules from other programs * Better user documentation of the DSL (in Maid::Tools) * Man pages, e.g. maid(1) and maid(5) * I've read http://ozmm.org/posts/man_what.html and http://rcrowley.org/articles/man-pages-vs-rubygems.html and I'm not too happy with the available tools for this * Use a Cocoa interface to get Spotlight results * "Watch" rules that use Folder Actions on OS X (and icron on Linux?). Something like: Maid.rules do watch '~/Downloads' do rule 'watch rule 1' do # ... end rule 'watch rule 2' do # ... end end rule 'normal rule 3' do # ... end end * Guard has some similar "watch" functionality. Here's what they use: * FSEvent support on Mac OS X 10.5+ (without RubyCocoa!, rb-fsevent gem, >= 0.3.5 required). * Inotify support on Linux (rb-inotify gem, >= 0.5.1 required). * Directory Change Notification support on Windows (rb-fchange, >= 0.0.2 required). * Polling on the other operating systems (help us to support more OS). * Automatic & Super fast (when polling is not used) files modifications detection (even new files are detected). * Possibly: notifications * Growl notifications (growlnotify & growl gem required). * Libnotify notifications (libnotify gem required). * GUI for configuring easy rules