## this is for debugging purposes because i keep calling #id on the
## wrong object and i want it to throw an exception
def id
- raise "wrong id called"
+ raise "wrong id called on #{self.inspect}"
end
end
require 'thread'
require 'fileutils'
-require_gem 'ferret', ">= 0.10.13"
+require 'ferret'
+#require_gem 'ferret', ">= 0.10.13"
module Redwood
source ||= entry[:source_id].to_i
source_info ||= entry[:source_info].to_i
end
+
+ ## this happens sometimes. i'm not sure why. ferret bug?
raise "no entry and no source info for message #{m.id}" unless source && source_info
raise "deleting non-corresponding entry #{docid}" unless @index[docid][:message_id] == m.id
@status = header["status"]
end
+ def broken?; @source.nil?; end
def snippet; @snippet || to_chunks && @snippet; end
def is_list_message?; !@list_address.nil?; end
def is_draft?; DraftLoader === @source; end
end
def save index
+ return if broken?
index.update_message self if @dirty
@dirty = false
end
end
def update_text_for_line l
+ return unless l # not sure why this happens, but it does, occasionally
@text[l] = text_for_thread @threads[l]
buffer.mark_dirty if buffer
end
num_inbox = 0
source.each do |offset, labels|
start_offset ||= offset
- yield " Found message at #{offset} with labels #{labels * ', '}"
+ yield "Found message at #{offset} with labels #{labels * ', '}"
begin
m = Redwood::Message.new :source => source, :source_info => offset,
:labels => labels