values = safely { @imap.fetch range, ['RFC822.SIZE', 'INTERNALDATE'] }
relevant_values = values.find_all { |v| range.include? v.seqno }
- if relevant_values.size < values.size
+ if relevant_values.size != values.size
Redwood::log "You IMAP server is buggy: it returned #{values.size} headers for a request for #{range.size}. What are you using, Binc?"
end
+class Range
+ ## only valid for integer ranges (unless I guess it's exclusive)
+ def size
+ last - first + (exclude_end? ? 0 : 1)
+ end
+end
+
class Module
def bool_reader *args
args.each { |sym| class_eval %{ def #{sym}?; @#{sym}; end } }