commit d11c1030533c79d406b12a0b4b26d33af288ffb3
parent 69b1b6b5b5a6a749e8b5f2aa78275e645bbed043
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date: Mon, 12 Nov 2007 18:02:00 +0000
chronic refinement patch from marcus williams
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@693 5c8cc53c-5e98-4d25-b20a-d8db53a31250
Diffstat:
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/lib/sup/index.rb b/lib/sup/index.rb
@@ -391,16 +391,21 @@ protected
if $have_chronic
chronic_failure = false
- result = result.gsub(/\b(before|after):(\((.+?)\)\B|(\S+)\b)/) do
+ result = result.gsub(/\b(before|on|in|after):(\((.+?)\)\B|(\S+)\b)/) do
break if chronic_failure
field, datestr = $1, ($3 || $4)
- realdate = Chronic.parse datestr
+ realdate = Chronic.parse(datestr, :guess => false)
if realdate
- Redwood::log "chronic: translated #{field}:#{datestr} to #{realdate}"
- if field == "after"
- "date:(>= #{sprintf "%012d", realdate.to_i})"
+ case field
+ when "after"
+ Redwood::log "chronic: translated #{field}:#{datestr} to #{realdate.end}"
+ "date:(>= #{sprintf "%012d", realdate.end.to_i})"
+ when "before"
+ Redwood::log "chronic: translated #{field}:#{datestr} to #{realdate.begin}"
+ "date:(<= #{sprintf "%012d", realdate.begin.to_i})"
else
- "date:(<= #{sprintf "%012d", realdate.to_i})"
+ Redwood::log "chronic: translated #{field}:#{datestr} to #{realdate}"
+ "date:(<= #{sprintf "%012d", realdate.end.to_i}) date:(>= #{sprintf "%012d", realdate.begin.to_i})"
end
else
BufferManager.flash "Don't understand date #{datestr.inspect}!"