In order to keep before-add-message.rb readable, I was using one-line filters like:
message.add_label "ad apple" if message.from.email =~ /@insideapple.apple.com/ message.add_label "ad amazon" if message.from.email =~ /promotio...@amazon.com/ message.add_label "list sup" if message.subj =~ /\[sup-talk\]/ message.add_label "list sup-devel" if message.subj =~ /\[sup-devel\]/ That seemed to work, somehow. Only now I realized that message.add_label in fact only takes a single label as argument. Is it true that I have to change the above syntax into the much more verbose: if message.subj =~ /\[sup-devel\]/ message.add_label :list message.add_label :"sup-devel" end Removing a message from the inbox ("message.remove_label :inbox") while applying a label leads to a similar 'code bloat'. Also, it took me a while to realize that errors in before-add-message.rb won't lead to a visible error message, but that before-add-message.rb just silently quits. The examples in http://sup.rubyforge.org/wiki/wiki.pl?Hooks are a very good start. Still, perhaps somebody with robust Ruby skills could add in a section about the exact usage of message.add_label and message.remove_label, e.g.: - What's the difference between "label" and :label? - Can I use multiple labels in one invocation? - How about dashes in labels? Is :sup-devel valid, or should I use :"sup-devel"? - How about spaces in label? - How about "-inbox"? Does it work? Regards, Gregor Hoffleit _______________________________________________ sup-talk mailing list sup-talk@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-talk