]> git.cworth.org Git - sup/commitdiff
console: add/remove labels
authorRich Lane <rlane@club.cc.cmu.edu>
Mon, 17 Aug 2009 06:39:12 +0000 (23:39 -0700)
committerWilliam Morgan <wmorgan-sup@masanjin.net>
Tue, 18 Aug 2009 18:00:19 +0000 (14:00 -0400)
lib/sup/modes/console-mode.rb

index d06d37be21f29c7085aec3b5db029bc18c1870d2..a91bbbf1a326fa37a48a44a3eed42ff6f78894f8 100644 (file)
@@ -6,6 +6,18 @@ class Console
   def initialize mode
     @mode = mode
   end
+
+  def query(query)
+    Enumerable::Enumerator.new(Index, :each_message, Index.parse_query(query))
+  end
+
+  def add_labels(query, *labels)
+    query(query).each { |m| m.labels += labels; m.save Index }
+  end
+
+  def remove_labels(query, *labels)
+    query(query).each { |m| m.labels -= labels; m.save Index }
+  end
 end
 
 class ConsoleMode < LogMode