11 Enumerable::Enumerator.new(Index, :each_message, Index.parse_query(query))
14 def add_labels(query, *labels)
15 query(query).each { |m| m.labels += labels; m.save Index }
18 def remove_labels(query, *labels)
19 query(query).each { |m| m.labels -= labels; m.save Index }
22 def xapian; Index.instance.instance_variable_get :@xapian; end
23 def ferret; Index.instance.instance_variable_get :@index; end
26 class ConsoleMode < LogMode
29 @binding = Console.new(self).instance_eval { binding }
35 ret = eval cmd, @binding
36 self << "=> #{ret.pretty_inspect}\n"
38 self << "#{$!.class}: #{$!.message}\n"
40 $!.backtrace.each { |l| break if l =~ /console-mode/; clean_backtrace << l }
41 clean_backtrace.each { |l| self << "#{l}\n" }
46 BufferManager.ask :console, "eval: "
51 cmd = prompt or return