commit ffab039c8c659066612841c7ae60e1bf5ff84b99
parent 259a0ceaaf96a3c30d52cc029ea401b9ab36efb3
Author: Whyme Lyu <callme5long@gmail.com>
Date: Sat, 18 May 2013 22:44:27 +0800
Make chronic a hard dependency
The chronic gem is pure Ruby, works on from 1.8.7 to 2.0.0 and only 39k in
size. No reason not to install it by default.
Diffstat:
2 files changed, 19 insertions(+), 27 deletions(-)
diff --git a/lib/sup/index.rb b/lib/sup/index.rb
@@ -4,14 +4,7 @@ require 'xapian'
require 'set'
require 'fileutils'
require 'monitor'
-
-begin
- require 'chronic'
- $have_chronic = true
-rescue LoadError => e
- debug "No 'chronic' gem detected. Install it for date/time query restrictions."
- $have_chronic = false
-end
+require 'chronic'
if ([Xapian.major_version, Xapian.minor_version, Xapian.revision] <=> [1,2,1]) < 0
fail "Xapian version 1.2.1 or higher required"
@@ -388,27 +381,25 @@ EOS
end
end
- if $have_chronic
- lastdate = 2<<32 - 1
- firstdate = 0
- subs = subs.gsub(/\b(before|on|in|during|after):(\((.+?)\)\B|(\S+)\b)/) do
- field, datestr = $1, ($3 || $4)
- realdate = Chronic.parse datestr, :guess => false, :context => :past
- if realdate
- case field
- when "after"
- debug "chronic: translated #{field}:#{datestr} to #{realdate.end}"
- "date:#{realdate.end.to_i}..#{lastdate}"
- when "before"
- debug "chronic: translated #{field}:#{datestr} to #{realdate.begin}"
- "date:#{firstdate}..#{realdate.end.to_i}"
- else
- debug "chronic: translated #{field}:#{datestr} to #{realdate}"
- "date:#{realdate.begin.to_i}..#{realdate.end.to_i}"
- end
+ lastdate = 2<<32 - 1
+ firstdate = 0
+ subs = subs.gsub(/\b(before|on|in|during|after):(\((.+?)\)\B|(\S+)\b)/) do
+ field, datestr = $1, ($3 || $4)
+ realdate = Chronic.parse datestr, :guess => false, :context => :past
+ if realdate
+ case field
+ when "after"
+ debug "chronic: translated #{field}:#{datestr} to #{realdate.end}"
+ "date:#{realdate.end.to_i}..#{lastdate}"
+ when "before"
+ debug "chronic: translated #{field}:#{datestr} to #{realdate.begin}"
+ "date:#{firstdate}..#{realdate.end.to_i}"
else
- raise ParseError, "can't understand date #{datestr.inspect}"
+ debug "chronic: translated #{field}:#{datestr} to #{realdate}"
+ "date:#{realdate.begin.to_i}..#{realdate.end.to_i}"
end
+ else
+ raise ParseError, "can't understand date #{datestr.inspect}"
end
end
diff --git a/sup.gemspec b/sup.gemspec
@@ -44,6 +44,7 @@ DESC
s.add_dependency "lockfile"
s.add_dependency "mime-types", "~> 1"
s.add_dependency "gettext"
+ s.add_dependency "chronic", "~> 0.9", ">= 0.9.1"
s.add_development_dependency "bundler", "~> 1.3"
s.add_development_dependency "rake"