Method: Redwood::SearchManager#initialize

Defined in:
lib/sup/search.rb

#initialize(fn) ⇒ SearchManager

Returns a new instance of SearchManager.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/sup/search.rb', line 12

def initialize fn
  @fn = fn
  @searches = {}
  if File.exist? fn
    IO.foreach(fn) do |l|
      l =~ /^([^:]*): (.*)$/ or raise "can't parse #{fn} line #{l.inspect}"
      @searches[$1] = $2
    end
  end
  @modified = false

  @predefined_searches = { 'All mail' => 'Search all mail.' }
  @predefined_queries  = { 'All mail'.to_sym => { :qobj => Xapian::Query.new('Kmail'),
                                                  :load_spam => false,
                                                  :load_deleted => false,
                                                  :load_killed => false,
                                                  :text => 'Search all mail.'}
  }
  @predefined_searches.each do |k,v|
    @searches[k] = v
  end
end